我想通过Python向Postgres表中插入一个值列表:
这些值位于列表中,例如:
new=
[
[gold, dresden, 1000, 24],
[silver, Cologne, 600, 42],
[gold, Aachen, 3000, 25]
]
而且这个表已经在Postgres中创建好了,我该怎么插入呢?
db.execute("INSERT INTO B4_O (position, city, amount, score) VALUES (%s,%s,%s)", new)
db.commit
但这给了我一个错误:
在字符串格式化期间并非所有参数都被转换
2条答案
按热度按时间bihw5rsg1#
使用psycopg2.extras.execute_values()函数:
ruoxqz4g2#
您使用的
db.execute()
接口正在执行SQL INSERT命令,可以参考the relevant documentation;你需要一个字符串在python中获取值的一个简单方法是:
请注意,一些python库(如SQLAlchemy)支持开箱即用的多行插入。