[英]Quickest way to dump Python dictionary (dict) object to a MySQL table?
我有一個dict對象。 我使用這個轉儲數據:
for alldata in data: # print all data to screen
print data[alldata]
每個字段都有NULLS的括號[]和'無'值以及日期值的date.datetime。
如何將此dict轉儲到MySQL表? 謝謝!
打印數據顯示如下:
{'1': ['1', 'K', abc, 'xyz', None, None, None], '2': ['2', 'K', efg, 'xyz', None, None, None], '3': ['3', 'K', ijk, 'xyz', None, None, None]}
如何將這些數據插入MySQL?
假設你安裝了MySQLdb (mysql-python):
sql = "INSERT INTO mytable (a,b,c) VALUES (%(qwe)s, %(asd)s, %(zxc)s);"
data = {'qwe':1, 'asd':2, 'zxc':None}
conn = MySQLdb.connect(**params)
cursor = conn.cursor()
cursor.execute(sql, data)
cursor.close()
conn.close()
這是一個可能的重復,或者可以通過這篇文章回答使用Python dict for SQL INSERT語句
但是,為了回答你的問題,我在另一個問題上發布了這個問題,我也在這里重新發布:
def ins_query_maker(tablename, rowdict):
keys = tuple(rowdict)
dictsize = len(rowdict)
sql = ''
for i in range(dictsize) :
if(type(rowdict[keys[i]]).__name__ == 'str'):
sql += '\'' + str(rowdict[keys[i]]) + '\''
else:
sql += str(rowdict[keys[i]])
if(i< dictsize-1):
sql += ', '
query = "insert into " + str(tablename) + " " + str(keys) + " values (" + sql + ")"
print(query) # for demo purposes we do this
return(query) #in real code we do this
對於字典
tab = {'idnumber': 1, 'fname': 'some', 'lname': 'dude', 'dob': '15/08/1947', 'mobile': 5550000914, 'age' : 70.4}
我們得到輸出,如下面的屏幕截圖所示。 請注意,這是一個簡單的示例,需要進行健全性檢查,並且可以修改以進行批量更新(使用dicts的dict)等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.