BuildingEither

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 taken

Up 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.

Pixel ArtDiceBearhttps://www.figma.com/community/file/1198754108850888330https://creativecommons.org/publicdomain/zero/1.0/„Pixel Art” (https://www.figma.com/community/file/1198754108850888330) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)
The_GeneralBuilding

The room

Anyone can read

Where 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.

Pixel ArtDiceBearhttps://www.figma.com/community/file/1198754108850888330https://creativecommons.org/publicdomain/zero/1.0/„Pixel Art” (https://www.figma.com/community/file/1198754108850888330) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)
The_GeneralBuilder21 Oct

hi

Pixel ArtDiceBearhttps://www.figma.com/community/file/1198754108850888330https://creativecommons.org/publicdomain/zero/1.0/„Pixel Art” (https://www.figma.com/community/file/1198754108850888330) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)
Hanz_ZimmerRequester21 Oct

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 confirmed

What 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.