csv-toolkit
# CSV Toolkit
Command-line CSV manipulation — view, filter, sort, select, convert, stats, dedup, and merge. Pure Python, no dependencies.
## Quick Start
```bash
# View as formatted table
python3 scripts/csv_toolkit.py view data.csv
python3 scripts/csv_toolkit.py view data.csv --head 10
# Filter rows
python3 scripts/csv_toolkit.py filter data.csv -w 'age>30' 'city==Chicago'
# Sort
python3 scripts/csv_toolkit.py sort data.csv --by salary --desc
# Select columns
python3 scripts/csv_toolkit.py select data.csv -c "name,email,salary"
# Convert to JSON
python3 scripts/csv_toolkit.py to-json data.csv -o data.json
# Convert JSON back to CSV
python3 scripts/csv_toolkit.py from-json data.json -o data.csv
# Column statistics
python3 scripts/csv_toolkit.py stats data.csv -c "age,salary"
# Remove duplicates
python3 scripts/csv_toolkit.py dedup data.csv -o clean.csv
# Merge files
python3 scripts/csv_toolkit.py merge file1.csv file2.csv -o combined.csv
```
## Commands
| Command | Description |
|---------|-------------|
| `view` | Display CSV as a formatted table. Use `--head N` / `--tail N` to limit rows. |
| `filter` | Filter rows with `-w` conditions: `col>val`, `col==val`, `col!=val`, `col<=val`. Multiple conditions = AND. |
| `sort` | Sort by column with `--by col`. Add `--desc` for descending. Numeric-aware. |
| `select` | Pick columns with `-c "col1,col2"`. |
| `to-json` | Convert CSV to JSON array of objects. Auto-detects numbers. |
| `from-json` | Convert a JSON array of objects to CSV. |
| `stats` | Column statistics: count, unique values, min/max/mean/median for numeric columns. |
| `dedup` | Remove duplicate rows. |
| `merge` | Concatenate multiple CSV files (same headers). |
## Global Options
| Flag | Description |
|------|-------------|
| `-d, --delimiter` | Field delimiter (default: `,`). Use `-d '\t'` for TSV. |
| `--encoding` | File encoding (default: `utf-8`). |
| `-o, --output` | Write result to file instead of stdout. |
标签
skill
ai