csv guide
CSV Empty Cells and Missing Columns Are Different Problems
Test empty CSV fields, quoted empty strings and short rows, then inspect the resulting JSON without guessing missing values.
Published October 9, 2026 by SOLVEOZA Editorial
Quick answer
With headers id,note, the row A, contains two fields and an empty note. The row A contains only one field. SOLVEOZA preserves the first as an empty string and rejects the second because its column count differs.
Count fields before assigning meaning
A delimiter can mark a real empty field. It is not necessarily stray punctuation to delete. With two headers, removing the comma after A changes the record's shape from two fields to one.
Use a small invented fixture before trying a large export. Keep a copy of the source and identify its actual delimiter. A semicolon-separated file interpreted as comma-separated text can appear to have one column even when it visually looks like a table.
Compare four similar-looking inputs
Select comma delimiter and first-row headers. Run each row beneath id,note separately. The word null in a CSV cell is ordinary text here; the converter does not infer JSON types.
| CSV data row | Field count | SOLVEOZA result |
|---|---|---|
| A, | 2 | {"id":"A","note":""} |
| A,"" | 2 | {"id":"A","note":""} |
| A,null | 2 | {"id":"A","note":"null"} |
| A | 1 | Column-count error |
id,note
A,
B,""
C,nullRepair the shape only when you know the schema
If the export specification says the final note is optional and an absent note must be represented by an empty field, the row A, has the expected shape. Add the delimiter only after establishing that rule. A short row could also mean a broken export or the wrong header row.
Do not append empty values indiscriminately until a parser accepts a file. A missing middle field can shift later values into the wrong columns. Compare the row with its original record and identify the exact missing position; successful parsing alone does not prove correct alignment.
Preserve the distinction after conversion
The converter produces strings for CSV values. Empty text remains an empty string; zero becomes the string 0; the letters null become the string null. If a destination expects a number or JSON null, apply a separately documented mapping after validating the source.
An empty string cannot tell you whether a source author meant unknown, not applicable, or intentionally blank. If that distinction matters, the export needs an additional status field or an agreed representation. Neither CSV punctuation nor this converter can recover that missing meaning.
Check the final record count as well as the columns
Inspect the first, middle and last data records after conversion. SOLVEOZA trims trailing completely blank rows, so an empty line at the end is not a reliable placeholder for a meaningful blank record. Keep explicit identifiers for records you need to preserve.
RFC 4180 describes a common CSV format with consistent field counts, but real exporters vary. Check quoting and delimiter settings before editing data. For embedded commas or line breaks use the separate quoted-fields guide rather than splitting text manually on every comma.
Methodology
- Run valid two-column and invalid one-column fixtures using first-row headers.
- Compare parsed JSON values without type coercion.
Limitations
- No automatic schema repair or meaning inference.
- Other CSV importers may handle short rows and empty lines differently.
- Blank text does not encode the reason a value is absent.
Sources
The fixture is original synthetic data. Results describe the current SOLVEOZA parser, not every CSV implementation.
- Common CSV format (accessed 2026-10-09)
FAQ
Are A, and A the same row?
No. The first has an empty second field; the second has one field.
Does an empty CSV field become JSON null?
Not in this tool. It becomes an empty string.
Can I fix every short row by adding commas?
No. Establish the missing position and source schema first; a middle omission may misalign the record.
Will trailing blank lines create blank records?
Not reliably in this converter: completely blank trailing rows are trimmed.