簡體   English   中英

DB2 python插入字典列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM