[英]Copy data from python lists into postgresql tables
我有一個python列表cve_id
, pkg_name
和vuln_status
。 我想將這些列表中的數據導入到PostgreSQL表中
我嘗試過的
from scanner import *
import psycopg2
try:
conn = psycopg2.connect(database="test", user="postgres",password="something", host="127.0.0.1", port="5432")
except:
print "Database un-successfull"
quit()
cur = conn.cursor()
cur.execute("INSERT into vuln_data(cve_id, pkg_name, status) VALUES (%s,%s, %s)", (cve_id, pkg_name, vuln_status))
conn.commit()
conn.close()
我說錯了
psycopg2.DataError:多維數組必須具有匹配維度的數組表達式
^
如果有人可以指出可以做的事情,請在這里。
謝謝
如果您的數據采用以下形式:
[
(val, val, val),
(val, val, val),
(val, val, val),
]
然后答案是cursor.executemany(sql,data):
如果您的數據不是這種形式,請使用zip()或列表推導形式將其放入此形式。
有巨大的性能影響。
嘗試替換cur.execute
代碼,如下所示
cur.execute("""INSERT into vuln_data(cve_id, pkg_name, status) VALUES (%s,%s, %s);""", (cve_id, pkg_name, vuln_status))
確保列表中的項目按順序排列,否則將其轉換為元組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.