[英]DB2 python insert list of dictionaries
我有一個字典列表,我想插入到DB2表中。 我怎樣才能做到這一點? 我正在使用ibm_db
DB2驅動程序。 這是我的代碼:
list_of_dictionaries = []
sql = "INSERT INTO schema.table VALUES (...)"
ibm_db.exec_immediate(conn, sql)
問題是表和字典有一百多個列/鍵,因此我不希望不在SQL查詢中列出所有列名。
這是使用ibm_db
驅動程序將字典列表插入DB2表的方法:
for i in list_of_dictionaries:
columns = ', '.join(i.keys())
placeholders = ', '.join(['?'] * len(i))
insert_sql = "INSERT INTO schema.table ( " + columns + ") VALUES ( " + placeholders + ")"
stmt_insert = ibm_db.prepare(conn, insert_sql)
try:
ibm_db.execute(stmt_insert, tuple(i.values()))
except:
print "Transaction couldn't be completed:" , ibm_db.stmt_errormsg()
else:
print "sucessfully inserted "
PS:在進行批量插入時,可以使用函數ibm_db.execute_many()
,但是它給您錯誤處理等方面的靈活性較低。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.