Aglet

Triage Unexpected Blank Rows in Imports

A visually blank row can represent several different source structures. An empty physical line, a delimiter-only record, and a quoted empty value need not mean the same thing. Identify the actual structure before explaining a count difference as harmless whitespace or treating every apparently blank line as a missing record.

Establish what is happening

  1. Classify the blank-looking input

    Choose controlled examples of an empty line, whitespace-only line, delimiter-only record, and quoted empty field. Record the intended handling for each supported form. Inspect the source text rather than a spreadsheet display, which may make distinct structures appear as identical blank rows in the same grid.

  2. Compare parsing and row accounting

    Record which examples become parsed records, which are skipped, and how the preview counts them. Compare final accepted and rejected totals with the controlled source. Keep physical line counts separate from logical records, especially when a legitimate quoted field contains a newline that looks blank within the file.

  3. Check a nearby real record

    Trace a distinct valid record immediately after each blank-looking input. Confirm it remains present and that any error location still points to the correct source. An apparently harmless skip can reveal a broader problem if it shifts reported positions or causes later records to be interpreted under the wrong structure.

What to carry forward

End with the source classifications, expected handling, observed counts, and one nearby record trace. State which blank forms lack a defined contract. The next investigation should target parsing, skip rules, or row accounting instead of removing all empty-looking lines and potentially changing meaningful field content.

Technical background: PostgreSQL documentation.

Keep the decision with the work.

Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.

Create an account See the product workflow