CSV Group By
Group rows by one or more columns and aggregate the rest — count, sum, avg, min, max. Runs entirely in your browser, no upload.
CSV group by
Summarize a CSV by grouping rows on one or more columns and aggregating the rest.
For example, group by dept and compute amount:sum and a row count. It runs
in your browser; nothing is uploaded.
Options
- Group by — one or more columns (header names or 1-based indices, comma-separated).
- Aggregations — a list of
column:funcwhere func iscount,sum,avg,min, ormax; or a barecountfor the per-group row count. Non-numeric cells are ignored by the numeric aggregates. - Output has one row per group (in first-seen order): the group columns followed
by the aggregated columns (named like
sum_amount).
FAQ
How are non-numeric or empty cells aggregated?
count counts every row in the group regardless of content. The numeric
aggregates parse each cell as a number and skip anything that doesn't parse:
avg divides by the number of numeric cells only, and min/max come out
empty for a group with no numeric values at all (sum reports 0).
Can I group by several columns, or by column number?
Yes on both counts. Group by takes a comma-separated list, and each entry
can be a header name (region,dept) or a 1-based index (1,3) — handy when
headers contain commas or you'd rather count columns. Multi-column groups
produce one output row per distinct combination.
What delimiters are supported, and what order are the rows in?
Comma (default), tab, semicolon, pipe — by name or as the literal character — or any other single-character separator. The output uses the same delimiter. Groups appear in first-seen order, i.e. the order their first row appears in the input, not sorted.
Is my data uploaded?
No — it's processed locally with WebAssembly.
Need a cross-tab/pivot?
Use the CSV pivot tool.
Developer & Automation Access
Run it from the terminal
Same engine as this page, headless — via the gizza CLI:
gizza tool csv-group-by "dept,amount
A,10
B,5
A,20" 'aggregations=amount:sum, count'New to the CLI? Get gizza →
Open it by URL
Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:
https://gizza.ai/tools/csv-group-by/?data=dept%2Camount%0AA%2C10%0AB%2C5%0AA%2C20&group_by_cols=dept&aggregations=amount%3Asum%2C%20count&delimiter=%2CMachine-readable descriptor: tool.json — title + parameters JSON Schema for agents.
