首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将Python字典列表插入到PSQL数据库

将Python字典列表插入到PSQL数据库
EN

Stack Overflow用户
提问于 2018-07-02 15:16:44
回答 2查看 2.6K关注 0票数 0

我有一个具有相同关键字的字典列表(在Python中构建),我想将其插入到PSQL数据库中。键名称与PSQL数据库的列一致。有没有人能给我一些有效的建议?

EN

回答 2

Stack Overflow用户

发布于 2018-07-02 15:23:45

您可以使用.executemany方法。使用psycopg2的示例

代码语言:javascript
复制
cursor.executemany(
    'INSERT INTO mytable (field_a, field_b, filed_c) '
    'VALUES (%(field_a)s, %(field_b)s, %(field_c)s)',
    data
)

data可以是你的字典列表。

票数 1
EN

Stack Overflow用户

发布于 2018-07-02 15:24:35

您可以在PSQL中使用executemany一次插入多条记录,如下所示:

代码语言:javascript
复制
conn=psycopg2.connect("dbname='db_name' user='db_user' password='db_pass'")

data = [{"col1":"data11", "col2":"data21"},
            {"col1":"data12", "col2":"data22"},
            {"col1":"data13", "col2":"data23"}]


cur = conn.cursor()
cur.executemany("""INSERT INTO bar(col1,col2) VALUES (%(col1)s, %(col2)s)""", data)

如果没有dict结构,则需要确保表中列的数据顺序正确,如下所示:

代码语言:javascript
复制
cur.executemany(
    """INSERT INTO bar(col1,col2) 
       VALUES (%s,%s)""", data)

数据的格式应该是:

代码语言:javascript
复制
data = [['data11', 'data21'], ['data12', 'data22']]

这就是你想要做的吗?让我知道,它起作用了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51130886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档