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

When this check helps
Section titled “When this check helps”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.
1. Load the sample and select two columns
Section titled “1. Load the sample and select two columns”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.
2. Match the expected report
Section titled “2. Match the expected report”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.
4. Check the repaired teaching fixture
Section titled “4. Check the repaired teaching fixture”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.
Troubleshooting
Section titled “Troubleshooting”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.
Are results saved after a refresh?
Section titled “Are results saved after a refresh?”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.
References and limits
Section titled “References and limits”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.