[英]DuckDB - efficiently insert pandas dataframe to table with sequence
CREATE TABLE temp (
id UINTEGER,
name VARCHAR,
age UINTEGER
);
CREATE SEQUENCE serial START 1;
插入系列工作得很好:
INSERT INTO temp VALUES(nextval('serial'), 'John', 13)
如何使用 pandas dataframe 的序列?
data = [['Alex',10],['Bob',12],['Clarke',13]]
df = pd.DataFrame(data,columns=['Name','Age'])
print(df)
Name Age
0 Alex 10
1 Bob 12
2 Clarke 13
con.execute("INSERT INTO temp SELECT * FROM df")
RuntimeError: Binder Error: table temp has 3 columns but 2 values were supplied
我不想逐项迭代。 目标是有效地将 1000 个项目从 python 插入 DB。 我可以将 pandas 更改为其他内容。
在阅读 df 时,您不能将 nextval('serial') 作为 select 查询的一部分吗?
例如,
con.execute("INSERT INTO temp SELECT nextval('serial'), Name, Age FROM df")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.