Skip to content
Original tutorialPublic source reviewed

CSV preflight tutorial: blanks, duplicate IDs and wrong columns

Reproduce 5 issues in 7 teaching records and check the repaired fixture against expected reports.

Use caseCheck missing values, duplicates, and column shifts before classifying a support CSV

Source · JevLog originalBeginner10 min

Before cleaning a CSV for classification, verify that its headers, stable IDs and text column are read correctly. This exercise follows 7 fictional records with 5 issue entries through a local check, source review, an edited copy and a second check. No account or model key is required.

Author: JevLog editorial team · Updated 2026-10-02. The fixtures are authored teaching data. The expected output comes from deterministic local checks, not a Jev accuracy evaluation.

Open the CSV checker · Download the input with issues · Download the repaired teaching copy · Download the expected JSON report

Check CSV headers, blanks, duplicates and row widths before classification. AI-generated conceptual illustration.

Ticket exports, feedback lists and spreadsheets can contain repeated exports, missing text or misplaced separators. Finding input problems first helps you distinguish parsing errors from classification errors. Passing these checks does not establish completeness, correct labels or permission to execute an action.

Open the checker and click “Load a fictional sample”. Select id as the stable ID column and feedback as the text column, then run. You can also select the downloaded file manually. The third column, source, describes the channel and should not be selected as feedback.

The input contains Chinese teaching text. ID 6 includes a comma inside a quoted field; it should parse as one field and produce no width warning.

The summary should show 7 records, 5 issues and 1 duplicate ID. Issues count report entries, not unique affected records: a single record can have several issues.

Report record ID Issue What to inspect
4 2 Duplicate ID The ID first occurs at record 3. Check the source export.
4 2 Duplicate text Its text also repeats record 3; identical text alone is not grounds to delete a business record.
5 4 Blank text Look for the original text in the source system. Keep it missing if it cannot be verified.
6 5 Spreadsheet formula risk Text begins with an equals sign; review it before opening exports in a spreadsheet.
8 7 Wrong column count There are 4 fields for 3 headers; the extra field is unexpected.

Record numbers include the header as record 1, so the first data record is number 2. These are CSV record numbers; a newline inside a quoted field does not increment them.

3. Save the report and preserve the source

Section titled “3. Save the report and preserve the source”

Download csv-report.json or csv-report.csv. JSON preserves original values in the report. The spreadsheet-view CSV prefixes formula-like cells. The report lists issues; it is not a cleaned business dataset, and the checker does not modify the input file.

Resolve wrong widths and duplicate IDs first. Confirm IDs against the source system rather than inventing new sequential IDs, which could break alignment between runs. Decide what repeated or empty text means for your actual workflow.

The separately authored csv-preflight-fixed.csv replaces the repeated record with fictional ID 3 and a password-reset message, supplies fictional text for ID 4, replaces the formula example for ID 5 with ordinary text, and removes the extra field for ID 7. These are explicit teaching edits, not inferred or recovered customer information.

Select this file and the same id and feedback columns. The expected result is 7 records, 0 issues and 0 duplicate IDs. For your own records, only apply corrections supported by the original source. Keep unverifiable content marked as missing for human review.

5. Continue into classification and review

Section titled “5. Continue into classification and review”

Keep the input version, report, correction reasons and stable IDs. Follow the CSV ticket-routing guide, use the run comparison tool after rule changes, and route uncertain outputs through the human review queue.

Can I use XLSX, another encoding or a file larger than 5 MB?

Section titled “Can I use XLSX, another encoding or a file larger than 5 MB?”

Export UTF-8 CSV or TSV from the source application; renaming an XLSX extension is insufficient. The checker supports comma, tab and semicolon separators and limits each file to 5 MB. Export smaller business-scoped copies for larger inputs. For garbled text, verify the original export encoding.

Why does an invalid quote prevent a report?

Section titled “Why does an invalid quote prevent a report?”

Unclosed or invalid quotes, blank headers and duplicate headers stop parsing. Fix the structure in a copy before rerunning. Do not remove meaningful punctuation from customer text just to silence a parser; quote fields containing separators and escape embedded double quotes correctly.

No. Download before refreshing, then select the original file again to reproduce the check. No login is required. If loading the sample fails, manually select the downloaded fixture and check whether your network can fetch sample files.

The checker applies fixed rules, does not validate the truth of customer data and does not call Jev. The expected report is generated from the current local logic and the linked teaching fixture, so you can reproduce it in the tool.