跳转到主要内容

用于方便运行DuckDB SQL脚本并支持模板的命令行界面

项目描述

Qck 🦆👩‍💻

Qck(发音为“quack”)是一个命令行脚本,用于方便地运行DuckDB SQL脚本,并支持Jinja模板。

🛠️ 安装

使用pip install qck进行安装。这将使qck脚本可用。

🚀 使用方法

运行qck --help以查看内置文档。

仅使用SQL文件运行qck将执行查询并将结果打印到终端

qck myquery.sql

默认情况下,使用LIMIT将输出限制为100行。您可以使用--limit选项覆盖此设置

qck myquery.sql --limit 10  # will only print 10 rows

要执行查询并将结果写入Parquet文件,请使用--to-parquet

qck myquery.sql --to-parquet myresult.parquet

您还可以在Python中调用qck

from qck import qck
rs = qck("myquery.sql")
rs.to_parquet("myresult.parquet")

有关qck的完整参数列表,请参阅源代码

🖋️ 模板化

Qck可以将SQL文件解释为Jinja模板,从而在SQL文件中使用控制结构,如for循环。此外,Qck在模板中引入了一个特殊变量import,允许访问任意Python函数。例如,考虑以下示例,我们导入glob函数并使用它来列出要查询的文件

{% for fname in import('glob.glob')('data/*xlsx') %}
SELECT
    "Value" AS value,
    "Région" AS region,
FROM
    st_read('{{ fname }}')
{% if not loop.last %}
UNION ALL
{% endif %}
{% endfor %}

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定选择哪个,请了解更多有关安装包的信息。

源分发

qck-2024.4.15.tar.gz (4.6 kB 查看哈希值)

上传时间

由以下支持