CSV Toolkit
Command-line CSV manipulation — view, filter, sort, select, convert, stats, dedup, and merge. Pure Python, no dependencies.
Quick Start
CODEBLOCK0
Commands
| Command | Description |
|---|
| INLINECODE0 | Display CSV as a formatted table. Use --head N / --tail N to limit rows. |
| INLINECODE3 |
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 |
|---|
| INLINECODE19 | Field delimiter (default: ,). Use -d '\t' for TSV. |
| INLINECODE22 |
File encoding (default:
utf-8). |
|
-o, --output | Write result to file instead of stdout. |
CSV 工具包
命令行CSV处理工具——支持查看、筛选、排序、选择列、格式转换、统计、去重和合并。纯Python实现,无外部依赖。
快速开始
bash
以格式化表格形式查看
python3 scripts/csv_toolkit.py view data.csv
python3 scripts/csv_toolkit.py view data.csv --head 10
筛选行
python3 scripts/csv_toolkit.py filter data.csv -w age>30 city==Chicago
排序
python3 scripts/csv_toolkit.py sort data.csv --by salary --desc
选择列
python3 scripts/csv_toolkit.py select data.csv -c name,email,salary
转换为JSON
python3 scripts/csv_toolkit.py to-json data.csv -o data.json
将JSON转换回CSV
python3 scripts/csv_toolkit.py from-json data.json -o data.csv
列统计
python3 scripts/csv_toolkit.py stats data.csv -c age,salary
去除重复行
python3 scripts/csv_toolkit.py dedup data.csv -o clean.csv
合并文件
python3 scripts/csv_toolkit.py merge file1.csv file2.csv -o combined.csv
命令列表
| 命令 | 描述 |
|---|
| view | 将CSV以格式化表格形式显示。使用--head N / --tail N限制行数。 |
| filter |
使用-w条件筛选行:col>val、col==val、col!=val、col<=val。多个条件为AND关系。 |
| sort | 使用--by col按列排序。添加--desc降序排列。支持数值感知排序。 |
| select | 使用-c col1,col2选择列。 |
| to-json | 将CSV转换为JSON对象数组。自动检测数值类型。 |
| from-json | 将JSON对象数组转换为CSV。 |
| stats | 列统计:计数、唯一值数量、数值列的最小值/最大值/平均值/中位数。 |
| dedup | 去除重复行。 |
| merge | 合并多个CSV文件(要求表头相同)。 |
全局选项
| 标志 | 描述 |
|---|
| -d, --delimiter | 字段分隔符(默认:,)。使用-d \t处理TSV文件。 |
| --encoding |
文件编码(默认:utf-8)。 |
| -o, --output | 将结果写入文件而非标准输出。 |