<p>不太清楚您希望如何插入列表,但让<code>psycopg2/execute</code>为您格式化查询:</p>
<pre><code>import psycopg2
import json
conn = psycopg2.connect("...")
cur = conn.cursor()
sql = "CREATE TEMP TABLE __Validation_Marc ( Codes varchar(250) )"
cur.execute(sql)
mylist = ['HP7CXNGSUFEPZCO4GS5RQPY6XY', '9475EFWZCNARPEJEZEMXDFHIBI', '6ECWZUQGEJCR5EZXDH9URCN53M', 'XZ9P6KTDGREM5KIXUO9IHCTKAQ']
sql = "INSERT INTO __Validation_Marc VALUES (%s)"
# Option1: Insert each code as record set
for value in mylist:
cur.execute(sql, (value, ))
conn.commit()
# Option2: Insert codes as one recordset comma separated
cur.execute(sql, (','.join(mylist),) )
conn.commit()
# Option3: insert as string as it is:
cur.execute(sql, (json.dumps(mylist),) )
conn.commit()
cur.execute("select * from __Validation_Marc")
for row in cur.fetchall():
print(row)
</code></pre>
<p>输出:</p>
<pre><code>('HP7CXNGSUFEPZCO4GS5RQPY6XY',)
('9475EFWZCNARPEJEZEMXDFHIBI',)
('6ECWZUQGEJCR5EZXDH9URCN53M',)
('XZ9P6KTDGREM5KIXUO9IHCTKAQ',)
('HP7CXNGSUFEPZCO4GS5RQPY6XY,9475EFWZCNARPEJEZEMXDFHIBI,6ECWZUQGEJCR5EZXDH9URCN53M,XZ9P6KTDGREM5KIXUO9IHCTKAQ',)
('["HP7CXNGSUFEPZCO4GS5RQPY6XY", "9475EFWZCNARPEJEZEMXDFHIBI", "6ECWZUQGEJCR5EZXDH9URCN53M", "XZ9P6KTDGREM5KIXUO9IHCTKAQ"]',)
</code></pre>
<p><strong>注意:</strong><br/>
我必须更改表名,我的postgres db不允许该名称:</p>