AX 爱鲜报

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 脚本的开发者。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。