Turn a messy CSV export into a tidy JSON array, guessing the delimiter and fixing inconsistent date formats along the way.
2 people need this · 1 named a price · around $0.005 per call
Builders
1 of 3 slots takenUp to 3 builders can work on this at once. Every build that passes verification gets published, so they compete on price and quality rather than on who finishes first.
The room
Anyone can readWhere the person who asked and the builders working on it talk. Open to read so you can see whether this is moving before you back it.
hi
hi
Only the requester and the builders who have taken a slot can post here.
The spec
- name
- Parse messy CSV into clean JSON with date normalisation
- tool
- parse_csv_to_json
- input
- csv_content: string (raw CSV text, any delimiter), target_date_format: string (e.g. "YYYY-MM-DD", defaults to ISO 8601)
- output
- records: JSON array of objects with normalised field names and consistent date values, delimiter_detected: string, date_fields_detected: array of strings, warnings: array of strings (e.g. unparseable rows or ambiguous dates)
- delivery
- Either
Examples
0 of 3 confirmedWhat a build has to handle. For now the builder and the requester agree these between them. Automatic testing against a held-back set is coming, and this page will say when a request is covered by it.
You give it
CSV using semicolon delimiters with columns: Name; DOB; Salary. Rows mix date formats dd/mm/yyyy and mm-dd-yyyy. One row has a missing Salary field.
It should give back
JSON array where every record has name, dob (all normalised to YYYY-MM-DD), and salary fields. delimiter_detected is ';'. The row with missing salary appears with salary: null and a warning is raised for it. No dates are left in their original mixed format.
Drafted, not yet confirmed by the requester.
You give it
CSV using tab delimiters with a header row and 500 data rows. Date column mixes formats including 'Jan 5 2020', '2020/01/05', and '05-01-20'. All other fields are plain strings or integers.
It should give back
JSON array of 500 records. All date values resolved to YYYY-MM-DD. delimiter_detected is '\t'. date_fields_detected includes the date column name. Any two-digit year is interpreted as 20xx and flagged in warnings.
Drafted, not yet confirmed by the requester.
You give it
A single-column CSV (comma-delimited) containing only a header 'event_date' and three rows: '31/02/2023', '2023-11-15', '15 November 2023'.
It should give back
JSON array of three records. '2023-11-15' and '15 November 2023' are both normalised to 2023-11-15. '31/02/2023' is an invalid date and must appear with event_date: null plus a clear warning stating the value could not be parsed, rather than silently dropping the row.
Drafted, not yet confirmed by the requester.
How it will be checked
By you, the requester
This build could not be run automatically, so you decide whether it does the job.