Skip to content

Exploring a Large CSV File

This guide takes you from a large CSV file you have not seen before to the rows you need: you check that Vaste reads the file correctly, look for broken and repeated rows, summarize a column, narrow the table to the rows that matter, and save them to a file.

Before you start: have a CSV file with a header row. The steps use this excerpt from a file named orders.csv:

orders.csv (excerpt)
order_id,date,status,amount,country
10001,2026-09-01,paid,42.50,FR
10002,2026-09-01,refunded,19.99,DE
10003,2026-09-02,paid,120.00,US
10003,2026-09-02,paid,120.00,US
10004,2026-09-02,refunded,8.75,US
10005,2026-09-03,paid,15.00

The counts in the steps are for this excerpt. In a real file, they are larger.

  1. Open the file

    Open orders.csv. It opens in Table view, with the header row as column names. The glyph in each header shows the type Vaste found: 123 for order_id, .0 for amount, and Aa for the text columns. See Table view.

  2. Check the dialect

    The status bar shows , · " · header: commas between fields, double quotes, and a header row. If the item is yellow, or the values sit in one column, select it and choose the right delimiter. See CSV dialect.

  3. Look for broken and repeated rows

    Select Analyze in the toolbar. When Vaste finishes, a notification sums up the result, ending with 1 ragged, 1 duplicate, and the table state bar shows the chips 1 ragged row and 1 duplicate row. Press F8 to go to the ragged row: order 10005 has no country. Press Alt + F8 to go to the second copy of order 10003. See Data quality.

A file with many ragged rows usually has the wrong dialect, for example a semicolon-separated file read with commas. Fix the dialect before you go on, because the counts and the columns depend on it.

  1. Summarize a column

    Right-click the status header and select Show stats. The dialog shows Count 6, Distinct 2, Nulls 0, and the sample values paid and refunded. See Column statistics.

  2. Filter the rows

    Select Filter in the toolbar. In the box above the status column, choose = in the operator menu and type refunded. The table state bar shows 2 of 6 rows. See Sorting and filtering.

  3. Read a row in full

    Click the order 10002 row and press Alt + Enter. Record view shows each field of the row on its own line. Press Alt + Down to read the next refunded order. See Columns and record view.

  4. Copy a row

    Right-click a row and select Copy row as JSON or Copy row as Markdown to paste it into a ticket or a chat.

Table view copies one row at a time. To save every matching row, use one of these:

  • A search export: press Ctrl + F, type ,refunded,, and press Enter. In the search panel, select More actions (…) → Export… to save every line that contains the text. The file holds the lines as they are in the CSV file, without the header line. See Copy or export matching lines.
  • An SQL export: select SQL, run SELECT * FROM data WHERE status = 'refunded', and select Export → CSV. The export includes a header line and every matching row. See SQL queries.

The search matches the text anywhere in a line, so choose text that only the column you want can contain. Here, ,refunded, matches the status field between two commas.

  • Filter one column at a time: on a large file, adding a filter on a second column can leave rows that do not match. Check the rows after each filter. For conditions on several columns, use SQL.
  • Sort without a filter: a sort has no effect while a filter is active. Clear the filters, then sort.
  • Very large files: Vaste cannot sort a file with more than 10,000,000 data rows. Use SQL with ORDER BY instead.
  • Column types: Vaste picks each column’s type from the first 1,000 data rows. If a number column holds text further down, those cells sort last and are left out of the column’s minimum, maximum, and average.