#csv #command-line #data #rows #extremely #aggregation #toolkit

app easycsv

A命令行csv解析器和工具包,用于导航和过滤csv文件中的数据

2个版本

0.2.9 2024年7月26日
0.2.5 2024年7月24日

#203 in 编码

Download history 191/week @ 2024-07-21 42/week @ 2024-07-28 1/week @ 2024-08-04

每月下载量234次

MIT/Apache

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,请按照以下步骤操作

  1. 克隆仓库:

    git clone https://github.com/ItsHyde-dev/easycsv.git
    
  2. 导航到项目目录:

    cd easycsv
    
  3. 构建项目:

    cargo install --path .
    
  4. 编译的二进制文件将位于 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