You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DuckDB中通过JSON字符串自动创建表并生成结构?

解决DuckDB直接用JSON字符串创建表的报错问题

你遇到的错误是因为json()是JSON扩展中的宏函数,仅用于处理单个JSON值,并非能读取JSON数据集并返回表的表函数。要直接用JSON字符串创建表且自动生成结构,正确的做法是使用read_json_auto函数,并通过inline:前缀指定读取的是字符串内容而非文件路径。

正确SQL语句示例

CREATE TABLE todos AS
SELECT * FROM read_json_auto('inline:[{"family": "Mark"}, {"family": "Nej"}]');

适配你的OpenAlex数据场景

对于从OpenAlex获取的作品列表这类JSON字符串数据,直接套用上述写法即可:

  1. 把OpenAlex返回的JSON字符串替换到inline:后面的部分
  2. 执行语句后,DuckDB会自动推断JSON中的字段结构,生成对应的表,完全不需要手动定义SQLAlchemy ORM模型

额外说明

如果你的DuckDB版本未默认加载JSON扩展,先执行以下语句加载:

LOAD json;

内容的提问来源于stack exchange,提问作者robertspierre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 20:34:58