有没有一种方法可以将SELECT
查询表的结果直接转换为JSON,而不需要将其写入文件?也许可以使用JSON扩展名duckdb
?
我也可以使用python客户端,在那里我将结果转换为pandas框架,然后转换为JSON,但我认为应该有一种更直接的方法。
范例:
CREATE TABLE weather (
city VARCHAR,
temp_lo INTEGER, -- minimum temperature on a day
temp_hi INTEGER, -- maximum temperature on a day
prcp REAL,
date DATE
);
INSERT INTO weather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');
INSERT INTO weather VALUES ('Vienna', -5, 35, 10, '2000-01-01');
字符串
一个示例查询是"SELECT city, temp_hi FROM weather;"
,所需的json如下所示:
{"city": ["San Francisco", "Vienna"], "temp_hi": [50, 35]}
型
因此,概括一下,我正在寻找直接创建所需JSON的方法,而无需先将结果转换为Python对象。
2条答案
按热度按时间h9a6wy2h1#
您可以将
list
aggregate function与STRUCT
一起使用。后者可以使用花括号或struct_pack
定义:字符串
这两种方法都会产生相同的结果:
型
nsc4cvqm2#
不清楚您在哪里编写查询,以及您期望查询的输出在哪里。
字符串
render_mode
参数,但只有2个选项。您可以通过编写查询并传递render_mode到show()
函数。像con.sql("SELECT city, temp_hi form weather").show(render_mode=1)
。你可以只使用fetchall()
,它返回结果的元组无论如何,如果使用Python路线,为什么不使用转换选项呢?
型