2010-04-09 14 views
7

मेरे पास एक टोकन वस्तु है। मैं डेटा का उपयोग कर फेंक दिया:पायथन शब्दकोश (dict) ऑब्जेक्ट को MySQL तालिका में डंप करने का सबसे तेज़ तरीका?

for alldata in data: # print all data to screen 
    print data[alldata] 

प्रत्येक क्षेत्र था कोष्ठक [] और NULLS और दिनांक मानों के लिए date.datetime के लिए 'कोई नहीं' मान।

मैं इस नियम को 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 में इस डेटा को सम्मिलित करने के:

प्रिंट डेटा कुछ इस तरह प्रदर्शित करता है?

उत्तर

11

आप MySQLdb (mysql-अजगर) है मान लिया जाये कि स्थापित:

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() 
+0

प्रिंट कुछ डेटा प्रदर्शित करता है और विवेक के चेक की जरूरत है, और (dicts के dict का प्रयोग करके) बहु-अपडेट के लिए संशोधित किया जा सकता,: { '1 ': [' 1 ',' के ', एबीसी,' xyz ', कोई नहीं, कोई नहीं, कोई नहीं],' 2 ': [' 2 ',' के ', efg,' xyz ', कोई नहीं, कोई नहीं, कोई नहीं], '3': ['3', 'के', आईजेके, 'xyz', कोई नहीं, कोई नहीं, कोई नहीं]} इस डेटा को MySQL में कैसे सम्मिलित करें? – ThinkCode

+0

एसक्यूएल = "माइटेबल में प्रवेश (ए, बी, सी, डी, ई, एफ, जी) मूल्य (% s,% s,% s,% s,% s,% s,% s);" ... cursor.executemany (एसक्यूएल, सूची (डेटा)) ... – newtover

1

इस के संभावित डुप्लीकेट, या इस पोस्ट से जवाब दिया जा सकता Using a Python dict for a SQL INSERT statement

हालांकि, अपने सवाल का जवाब देने, मैं अन्य प्रश्न पर इस पर पोस्ट की गई और मैं इसे यहाँ reposting हूँ और साथ ही :

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} 

के लिए हम screensh के रूप में आउटपुट प्राप्त नीचे दिखाता है। ध्यान दें कि यह एक नंगे हड्डियों उदाहरण आदि इस तरह

output of the code mentioned above

संबंधित मुद्दे

 संबंधित मुद्दे