17

次のコードはエラーを引き起こしません。しかし、それは私のデータベースにも値を入れません。主キーのインデックスを除くすべての制約をテーブルから取り除きました。2 つのフィールドは両方とも文字列です。何か案は?最も紛らわしいのは、エラーがログに記録されないことです。

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()
4

1 に答える 1

26

私もこれで苦労しました。いくつかの隠された知識は、あなたがしなければならないことです:

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

の後write、またはデータベースからデータベースに移動する場合は、 を実行した後copy_to

オブジェクトがファイル オブジェクトStringIOと同じメソッドと属性をすべて持っていることを忘れがちです。

于 2012-08-24T04:45:42.637 に答える