q:用 SQL 查询 CSV 文件数据

  • 郭蕾

2014 年 10 月 23 日

话题:语言 & 开发

q是一个命令行工具,它支持在 CSV 以及 TSV 等表格类文件中执行类似 SQL 的查询。q 可以把普通文档当作数据库表处理,并且支持 WHERE、GROUP BY、JOIN 等语法,但暂时不支持 WHERE 内的子查询。q 支持自动类型推导。目前 q 在 GitHub 获得 1900+ 的关注量,当然版本为 1.4.0。

q 本身是一个使用 Python 编写的内存数据库,使用也非常简单,基本没有学习成本,只要把之前写数据库表的地方换为对应的文件地址即可,比如:

q -H -t “SELECT COUNT(DISTINCT(uuid)) FROM ./clicks.csv”

具体的使用方法以及例子读者可以移步官网详细了解。

q 是一个简单而高效的小工具,亮点是便捷,所以未过多关注性能方面的问题,当前也只适合处理小数据,在使用时需要注意 q 暂时不支持处理文件名中带空格的文件。目前 q 的官网上提供了 Mac、Windows、​Debian、CentOS 等系统的安装文件,感兴趣的读者请自行下载安装。

语言 & 开发