2012-08-24 13 views
12

के साथ कोई त्रुटि नहीं लॉग इन निम्न कोड को कोई त्रुटि नहीं मिली है। लेकिन यह मेरे डेटाबेस में कोई भी मूल्य नहीं डालता है। प्राथमिक कुंजी पर इंडेक्स को छोड़कर टेबल से सभी बाधाएं ले ली हैं। दोनों फ़ील्ड दोनों तार हैं। कोई विचार? सबसे भ्रमित बात यह है कि कोई त्रुटि लॉग नहीं होती है।विफल पोस्टग्रेस/Psycopg2 copy_from

conn = psycopg2.connect("dbname=<mydbname> user=postgres password=<mypassword>") 
cur = conn.cursor() 
output = StringIO.StringIO() 
output.write('Citizen Caine\tMy_API_id\n') 
cur.copy_from(output, 'movie', columns=('title','api_id')) 
conn.commit() 
+1

की विशेषताओं जहाँ आपके लिए प्रतिबद्ध है() है आसान है? –

+0

यह एक अच्छा पकड़ है लेकिन यह केवल मेरे पहले मसौदे से ही छोड़ा गया था। प्रतिबद्धता मेरे कोड में है और यह अपडेट नहीं हो रही है। –

उत्तर

17

मैं भी इस के साथ संघर्ष कर रहा था। अपने write के बाद

output.seek(0) #put the position of the buffer at the beginning 

, या यदि आप डेटाबेस से डेटाबेस के लिए जा रहे हैं, तो आप एक copy_to कर के बाद: कुछ गुप्त ज्ञान आप एक क्या करना है कि है।

यह भूल जाते हैं कि StringIO वस्तुओं सब एक ही तरीके और एक file object.

+2

उसने ऐसा किया। धन्यवाद! –

+0

मुझे लगता है मैंने किया था। जब मैंने टिप्पणी सबमिट की तो मैंने अपना कनेक्शन खो दिया। –

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