#csv #sql-query #save #sqlite #parser

csv-query

在CSV文件上执行SQL查询

5个不稳定版本

使用旧Rust 2015

0.5.0 2018年9月13日
0.4.1 2018年9月4日
0.4.0 2018年9月2日
0.3.1 2018年7月3日
0.3.0 2018年6月27日

#2994 in 数据库接口

24 每月下载量
用于 csv-query-cli

MIT 许可证

10KB
241 代码行

CSV查询

Build Status

这是基于rows的想法,但我希望将其限制为只包含快速的CSV解析器和嵌入的sqlite查询。

这还没有完全完成

安装

Homebrew

brew install jaysonsantos/tools/csv-query

从源代码安装

假设您已经安装了cargo,只需运行以下命令

 cargo install csv-query-cli

用法

保存这两个示例文件。

user.csv

user_id;name
1;User 1
2;User 2
3;User 3

credits.csv

user_id;credit
1;5
1;30
2;3
1;4
3;1

然后您应该能够运行这个查询

$ csv-query -q "
select
    u.name, sum(c.credit) credits, avg(c.credit) avg_credits
from table1 u
join table2 c
    on u.user_id = c.user_id
group by u.user_id
having avg(c.credit) >= 3" \
-f user.csv -f credits.csv

"name";"credits";"avg_credits"
"User 1";"39";"13"
"User 2";"3";"3"

或者您可以使用交互式模式

asciicast

免责声明

如果您不需要SQLite的灵活性,或者想要快速完成任务并使用更成熟的项目,您应该使用xsv

依赖

~26MB
~494K SLoC