xan CSV 魔法师
xan 是一款用 Rust 编写的高性能命令行 CSV 处理工具,源自 xsv 的重写版本,可流式处理 GB 到 TB 级表格数据,支持预览、过滤、切片、聚合、排序、连接,并内置专用表达式语言与终端可视化。
爱鲜报评分
0.0
0 人评分
4.5k
星数
否
中文
Rust
主语言
是
活跃
67
贡献者
人工分析
EDITORIAL推荐理由
xan 以 SIMD 解析与多线程并行实现极快的 CSV/TSV 处理速度,内存占用低,适合替代 Python/pandas 脚本做批量数据清洗。它提供大量可组合子命令和自研表达式语言,还能直接输出直方图、散点图等终端可视化,对数据记者与社科研究者尤其友好。
适用场景
- 大规模 CSV/TSV 数据清洗与转换
- 命令行下快速预览、过滤、排序、连接表格
- 社会科学与网络数据采集后的批量分析
- 词频统计、图论分析与网页抓取辅助
- CSV 与 JSON、NDJSON、Excel、Parquet 等格式互转
优点
- Rust 实现,SIMD 解析加多线程,处理大文件速度快、内存占用低
- 子命令丰富且可管道组合,覆盖过滤、聚合、连接、排序等常见操作
- 内置专用表达式语言,复杂计算比 Python/JS 脚本更快
- 支持终端内表格预览与直方图、散点图等基础可视化
- 可处理 .cdx、.vcf、.gtf 等 CSV 邻接格式,并支持多格式互转
缺点
- 命令与表达式语言较多,需要一定学习成本
- 终端可视化能力有限,复杂图表仍需导出后用其他工具绘制
- 部分高级功能依赖 Parquet 等外部格式,需额外理解
- 文档以英文为主,中文资料较少
上手难度
进阶
xan:命令行里的 CSV 魔法师
xan 是一款用 Rust 编写的高性能命令行工具,专门用于在 shell 中直接处理 CSV 文件。它最初是 BurntSushi 的 xsv 的分支,如今已几乎完全重写,面向 SciencesPo médialab 的社科数据采集与分析场景。
核心特点
- 快且省内存:基于 SIMD 的 CSV 解析器,部分计算可多线程并行,能轻松处理 GB 到 TB 级文件。
- 命令可组合:预览、过滤、切片、聚合、排序、连接等操作均可通过管道串联。
- 内置表达式语言:针对 CSV 数据定制,执行复杂计算时比 Python、Lua、JavaScript 等脚本语言更快。
- 终端可视化:可直接在终端查看表格,并绘制直方图、散点图、热力图、时间序列等基础图表。
- 多格式支持:除 CSV/TSV 外,还能处理
.cdx、.vcf、.gtf、.sam、.bed等邻接格式,并通过xan to/xan from与 JSON、NDJSON、Excel、NumPy 数组等互转。
安装方式
xan 提供多种安装渠道,可按平台选择:
# Rust 用户
cargo install xan --locked
# macOS
brew install xan
# Windows(Scoop)
scoop install xan
# Arch Linux
sudo pacman -S xan
# Conda
conda install conda-forge::xan
此外还支持 Nix、Pixi、NetBSD 以及 GitHub Releases 中的预编译二进制。
快速上手
查看表头:
xan headers medias.csv
预览数据、过滤行、按列排序等都可以通过子命令完成,并可用管道组合成数据处理流水线。对于无法用简单命令表达的复杂逻辑,可借助其表达式语言编写计算。
适用人群
适合需要在命令行中批量清洗、转换和分析表格数据的数据工程师、数据记者与社科研究者,也适合希望用更轻量方式替代部分 pandas 脚本的开发者。
评论
- 暂无评论,来写第一条吧。