2个版本
0.2.9 | 2024年7月26日 |
---|---|
0.2.5 | 2024年7月24日 |
#203 in 编码
每月下载量234次
29KB
675 行
EasyCsv
easycsv 是一个使用 Rust 构建的极快命令行 CSV 工具包。它提供了一系列强大的功能,以高效地操作和分析 CSV 文件。使用 easycsv,您可以过滤行,使用自定义查询语言在特定列中查找数据,执行聚合,并以多种格式(如 CSV 和 JSON)显示结果。此外,easycsv 可以通过使用 shell 管道与其它 Linux 命令无缝集成。
功能
- 极快:优化速度和效率。
- 过滤行:根据指定的标准快速过滤 CSV 文件中的行。
- 自定义查询语言:使用专用语言在特定列中查找数据,支持
=
、!=
和~
(包含)运算符。 - 聚合:执行计数行数和识别列中的重复条目等聚合操作。
- 多种输出格式:以 CSV 或 JSON 格式显示结果。
- 命令行集成:通过管道轻松集成其他 Linux 命令。
安装
使用 Cargo
如果您已在您的计算机上安装了 Cargo,您可以直接从 crates.io 安装 easycsv。
cargo install easycsv
从源代码构建
要从源代码构建 easycsv,请按照以下步骤操作
-
克隆仓库:
git clone https://github.com/ItsHyde-dev/easycsv.git
-
导航到项目目录:
cd easycsv
-
构建项目:
cargo install --path .
-
编译的二进制文件将位于
target/release
目录中。您可以将此目录添加到您的 PATH 或将二进制文件移动到已在您的 PATH 中的目录。
用法
基本用法
easycsv [OPTIONS] <CSV_FILE>
示例
-
在特定列中查找数据:
easycsv --find "name ~ 'John' and age != 25" data.csv
-
计数行:
easycsv --count data.csv
-
计数列中的重复条目:
easycsv --dc "email" data.csv
-
以 JSON 格式显示结果:
easycsv --display-json data.csv
-
与其他命令集成:
cat data.csv | easycsv -f "name ~ 'Doe' or age = 30"
选项
--find <CONDITION>
:根据指定的条件过滤行。--count
:统计 CSV 文件中的行数。--dc <COLUMN>
:统计指定列中的重复条目。
您可以使用 easycsv --help 命令查看所有可用选项的详细信息。
贡献
我们欢迎贡献!请在 GitHub 上提交问题或拉取请求。
许可证
本项目采用 MIT 许可证。有关详细信息,请参阅 LICENSE 文件。
easycsv:高效的 CSV 数据操作和分析的终极命令行工具。
依赖项
~9–19MB
~302K SLoC