- Star
- 4,540
- Fork
- 94
- 未关闭 Issue
- 127
- 最近提交
- 19小时前
这是什么?
xan 是一款在命令行中处理 CSV 文件的工具,提供大量可组合的子命令,用于预览、搜索、过滤、切片、排序、去重、聚合和连接表格数据,并可串联成管道使用。
它使用 Rust 编写,底层基于 SIMD CSV 解析器,部分计算通过多线程并行执行,可处理从 GB 到 TB 级别的文件。项目还内置了一套面向 CSV 行的表达式语言,供 filter、map、transform、agg、groupby 等命令使用,并支持与 JSON、NDJSON、Excel、Parquet 等格式互相转换。
该项目源自 xsv 的分支,后由 SciencesPo médialab 大幅重写,功能偏向网页数据采集与社会科学分析,包括词汇统计、图论工具和 HTML 抓取。此外,它还提供终端表格预览、直方图、散点图和热力图,便于快速探索数据。
核心功能
- 01在 shell 中预览、搜索、过滤、切片、排序和去重 CSV 文件。
- 02借助自定义表达式语言进行聚合与分组计算。
- 03通过 join、merge、pivot、unpivot 等命令连接和重塑表格。
- 04在 CSV 与 JSON、NDJSON、Excel、Parquet 等格式之间互相转换。
- 05支持读取 gzip、zstd 压缩文件,以及 VCF、SAM、BED 等生物信息学格式。
- 06在终端中绘制直方图、散点图和热力图。
适用场景
- 不借助电子表格,快速查看或过滤大型 CSV 导出文件。
- 搭建可重复运行的 shell 管道,用于清洗和聚合表格数据。
- 对问卷或网页采集数据计算频数表和描述性统计。
- 在脚本中实现 CSV 与 JSON、Excel 等格式之间的转换。
快速上手
- 1
使用 Cargo 安装 xan
cargo install xan --locked - 2
下载示例语料
curl -LO https://github.com/medialab/corpora/raw/master/polarisation/medias.csv - 3
在终端中预览该文件
xan view medias.csv
标签
常见问题
- xan 是什么?
- 一款用 Rust 编写的命令行工具,可在终端直接预览、过滤、聚合、连接和转换 CSV/TSV 文件。 xan 是一款在命令行中处理 CSV 文件的工具,提供大量可组合的子命令,用于预览、搜索、过滤、切片、排序、去重、聚合和连接表格数据,并可串联成管道使用。
- xan 可以免费使用吗?用的什么许可证?
- xan 以 Unlicense 许可证开源。用于商业产品前,请先确认许可证条款。
- xan 还在维护吗?
- 活跃维护中。xan 最近一次提交是在 2026年10月20日。
- xan 适合用来做什么?
- 不借助电子表格,快速查看或过滤大型 CSV 导出文件。 搭建可重复运行的 shell 管道,用于清洗和聚合表格数据。 对问卷或网页采集数据计算频数表和描述性统计。 在脚本中实现 CSV 与 JSON、Excel 等格式之间的转换。
- xan 怎么安装和运行?
- 使用 Cargo 安装 xan: cargo install xan --locked 下载示例语料: curl -LO https://github.com/medialab/corpora/raw/master/polarisation/medias.csv 在终端中预览该文件: xan view medias.csv
- 在哪里获取 xan?
- 源代码和安装说明在 GitHub 上:https://github.com/medialab/xan
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一款轻量的终端(TUI)应用,用于查看和查询 CSV、Parquet、JSON、Excel、SQLite 等表格数据文件。
314497RustMIT更新于 3天前
Warp 是一款从终端演化而来的智能体开发环境,内置编码智能体,也可接入你自己的 CLI 智能体。
6.6万5685RustAGPL-3.0更新于 8小时前
一个带语法高亮和 Git 修改标记的终端 cat 替代工具。
6.1万4382RustApache-2.0更新于 15小时前
一款快速易用的命令行工具,用来按名称查找文件和目录,可替代 Unix 的 find 命令。
4.5万1180RustApache-2.0更新于 昨天