21 个版本 (12 个稳定版)
1.3.3 | 2024年7月8日 |
---|---|
1.2.4 | 2024年3月4日 |
1.2.2 | 2022年10月9日 |
1.1.0 | 2022年7月2日 |
0.3.5 | 2020年9月23日 |
#16 in 命令行工具
每月下载量 155
39KB
719 行
📠 csview
一个支持 CJK/emoji 的高性能 csv 查看。
特性
用法
$ cat example.csv
Year,Make,Model,Description,Price
1997,Ford,E350,"ac, abs, moon",3000.00
1999,Chevy,"Venture ""Extended Edition""","",4900.00
1999,Chevy,"Venture ""Extended Edition, Large""",,5000.00
1996,Jeep,Grand Cherokee,"MUST SELL! air, moon roof",4799.00
$ csview example.csv
┌──────┬───────┬───────────────────────────────────┬───────────────────────────┬─────────┐
│ Year │ Make │ Model │ Description │ Price │
├──────┼───────┼───────────────────────────────────┼───────────────────────────┼─────────┤
│ 1997 │ Ford │ E350 │ ac, abs, moon │ 3000.00 │
│ 1999 │ Chevy │ Venture "Extended Edition" │ │ 4900.00 │
│ 1999 │ Chevy │ Venture "Extended Edition, Large" │ │ 5000.00 │
│ 1996 │ Jeep │ Grand Cherokee │ MUST SELL! air, moon roof │ 4799.00 │
└──────┴───────┴───────────────────────────────────┴───────────────────────────┴─────────┘
$ head /etc/passwd | csview -H -d:
┌────────────────────────┬───┬───────┬───────┬────────────────────────────┬─────────────────┐
│ root │ x │ 0 │ 0 │ │ /root │
│ bin │ x │ 1 │ 1 │ │ / │
│ daemon │ x │ 2 │ 2 │ │ / │
│ mail │ x │ 8 │ 12 │ │ /var/spool/mail │
│ ftp │ x │ 14 │ 11 │ │ /srv/ftp │
│ http │ x │ 33 │ 33 │ │ /srv/http │
│ nobody │ x │ 65534 │ 65534 │ Nobody │ / │
│ dbus │ x │ 81 │ 81 │ System Message Bus │ / │
│ systemd-journal-remote │ x │ 981 │ 981 │ systemd Journal Remote │ / │
│ systemd-network │ x │ 980 │ 980 │ systemd Network Management │ / │
└────────────────────────┴───┴───────┴───────┴────────────────────────────┴─────────────────┘
运行 csview --help
以获取详细信息。
安装
在 Arch Linux 上
csview
可在 Arch 用户仓库中使用。要安装,请从 AUR 安装。
yay -S csview
在 macOS 上
您可以使用 Homebrew 安装 csview
。
brew install csview
在 NetBSD 上
csview
可从主 pkgsrc 仓库获取。要安装,只需在支持的平台上运行
pkgin install csview
或,如果您喜欢从源码构建,可以使用 pkgsrc 在任何支持的平台上进行。
cd /usr/pkgsrc/textproc/csview
make install
在 Windows 上
您可以使用 Scoop 安装 csview
。
scoop install csview
从二进制文件
为各种架构预构建的 csview
版本可在 Github 发布页面 获取。
请注意,如果您遇到依赖关系相关错误,可以尝试使用(静态链接的)musl
版本。
从源码
csview
也在 crates.io 上发布。如果您已安装最新的 Rust 工具链,可以使用 cargo
从源码安装它。
cargo install --locked csview
如果您需要最新版本,请克隆此仓库,并运行 cargo build --release
。
基准测试
- small.csv(10行,4列,695字节)
工具 | 命令 | 平均时间 | 最短时间 | 内存 |
---|---|---|---|---|
xsv | xsv table small.csv |
2.0毫秒 | 1.8毫秒 | 3.9MB |
csview | csview small.csv |
0.3毫秒 | 0.1毫秒 | 2.4MB |
列 | 列-s, -t small.csv |
1.3毫秒 | 1.1毫秒 | 2.4MB |
csvlook | csvlook small.csv |
148.1毫秒 | 142.4毫秒 | 27.3MB |
- medium.csv(10,000行,10列,624K字节)
工具 | 命令 | 平均时间 | 最短时间 | 内存 |
---|---|---|---|---|
xsv | xsv table medium.csv |
0.031秒 | 0.029秒 | 4.4MB |
csview | csview medium.csv |
0.017秒 | 0.016秒 | 2.8MB |
列 | 列-s, -t small.csv |
0.052秒 | 0.050秒 | 9.9MB |
csvlook | csvlook medium.csv |
2.664秒 | 2.617秒 | 46.8MB |
large.csv
(1,000,000行,10列,61M字节,通过连接medium.csv 100次生成)
工具 | 命令 | 平均时间 | 最短时间 | 内存 |
---|---|---|---|---|
xsv | xsv table large.csv |
2.912秒 | 2.820秒 | 4.4MB |
csview | csview large.csv |
1.686秒 | 1.665秒 | 2.8MB |
列 | 列-s, -t small.csv |
5.777秒 | 5.759秒 | 767.6MB |
csvlook | csvlook large.csv |
20.665秒 | 20.549秒 | 1105.7MB |
常见问题解答(F.A.Q.)
我们已经有xsv了,为什么还要为其贡献但建立一个新的工具呢?
xsv
非常棒。但它的目的是分析和操作csv数据。 csview
是为格式化和查看而设计的。参见:xsv/issues/156
我遇到了与UTF-8相关的问题,如何解决?
该文件可能使用非UTF8编码。您可以使用file
命令检查文件编码
$ file -i a.csv
a.csv: application/csv; charset=iso-8859-1
然后将它转换为utf8
$ iconv -f iso-8859-1 -t UTF8//TRANSLIT a.csv -o b.csv
$ csview b.csv
或者就地转换
$ iconv -f iso-8859-1 -t UTF8//TRANSLIT a.csv | csview
致谢
许可
csview
在MIT许可和Apache许可2.0的条款下分发。
有关许可详情,请参阅LICENSE-APACHE和LICENSE-MIT文件。
依赖关系
~5–15MB
~180K SLoC