CSV Toolkit
Command-line CSV manipulation — view, filter, sort, select, convert, stats, dedup, and merge. Pure Python, no dependencies.
Quick Start
# 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. |
微信扫一扫