#csv #rabbitmq #行数 #分割 # #文件 #amqp

app csv-splitter

按行数将CSV文件分割成块。支持将块上传到RabbitMQ。

3个不稳定版本

0.2.1 2023年9月24日
0.1.1 2023年9月23日
0.1.0 2023年9月23日

#6 in #行数

MITLGPL-3.0

16KB
326 代码行

MIT License Rust

超快CSV分割器

这是一个Rust程序,可以将CSV文件分割成多个文件。它被设计成尽可能快。

这也是一个正在进行中的项目,所以您的体验可能会有所不同。

安装

$ cargo install csv-splitter

$ git clone [email protected]:patterns-complexity/csv-splitter
$ cd csv-splitter
$ cargo build --release
$ cd ./target/release/
$ ./csv-splitter -h

用法和帮助

$ csv-splitter -i <input_directory> -o <output_directory> -g <granularity>

$ csv-splitter --input <input_directory> --output <output_directory> --granularity <granularity>

或(使用AMQP)

$ csv-splitter -i <input_directory> -o <output_directory> -g <granularity> -q <queue_name> -u <amqp_url>

或(使用AMQP)

$ csv-splitter --input <input_directory> --output <output_directory> --granularity <granularity> --queue_name <queue_name> --amqp_url <amqp_url>

帮助

$ csv-splitter -h

参数

短形式 长形式 描述 必需
-h --help 打印帮助信息
-i --input 包含要分割的CSV文件的目录
-o --output 输出块的目录
-g --granularity 块行数
-q --queue_name AMQP队列名称,如果提供,则需要-u
-u --amqp_url AMQP队列的URI(amqp://用户:密码@主机:端口)

示例

$ csv-splitter -i ./input -o ./output -g 500

带有AMQP的示例

$ csv-splitter -i ./input -o ./output -g 500 -q my_queue -u amqp://user:password@host:port

许可证

MIT许可证

作者

Patterns Complexity

依赖项

~15–26MB
~457K SLoC