CSV filter
Filter CSV/TSV rows by a comparison on one column and download the kept document.
Working…
Questions people ask
- Which comparisons can I make?
- Twelve: equals, not_equals, contains, not_contains, starts_with, ends_with (text); greater_than, greater_than_or_equal, less_than, less_than_or_equal (numeric); is_empty, is_not_empty. There are deliberately no expressions, no scripting and no dynamic evaluation: the operator list is the whole vocabulary.
- What happens to rows whose number cell is not a number?
- They are deliberately not matched rather than parsed by guesswork ("1,000" is not 1000, "N/A" is not a value), and the count of such rows is reported in the result. A comparison value that is not a plain decimal refuses the run with a named diagnostic.
- Is my data rewritten?
- No. Kept rows keep their original order, all their columns and their original values; the tool only deletes rows that do not match. The one exception is the explicit formula-injection option (prefix), which adds a visible apostrophe; it is off by default.
- My file has a column twice. What happens?
- A column NAME that matches two or more columns is ambiguous, and the tool refuses the run rather than silently picking one. Rename the duplicate columns first (CSV column select does precisely this).
- What if the rows do not all have the same width?
- With the default strict policy the run is refused and one diagnostic names every disagreeing row (line, expected vs actual cells). Permissive keeps ragged rows as whole rows; a short row is compared on the cells it has, so a missing selected column matches only the empty-cell operators.
- Does the filter need a header?
- A header is detected or declared the same way every CSV tool in the family works: auto detects it, or you can force yes/no. Without a header, choose the column by 1-based number (1 = the leftmost column).