我有一个具有相同关键字的字典列表(在Python中构建),我想将其插入到PSQL数据库中。键名称与PSQL数据库的列一致。有没有人能给我一些有效的建议?
发布于 2018-07-02 15:23:45
您可以使用.executemany
方法。使用psycopg2
的示例
cursor.executemany(
'INSERT INTO mytable (field_a, field_b, filed_c) '
'VALUES (%(field_a)s, %(field_b)s, %(field_c)s)',
data
)
data
可以是你的字典列表。
发布于 2018-07-02 15:24:35
您可以在PSQL中使用executemany
一次插入多条记录,如下所示:
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
结构,则需要确保表中列的数据顺序正确,如下所示:
cur.executemany(
"""INSERT INTO bar(col1,col2)
VALUES (%s,%s)""", data)
数据的格式应该是:
data = [['data11', 'data21'], ['data12', 'data22']]
这就是你想要做的吗?让我知道,它起作用了。
https://stackoverflow.com/questions/51130886
复制相似问题