3
ポンドのDataFrameからポストのDBのテーブルにデータを書き込む最速の方法は不思議です。速いパンダのデータフレームをポストグレースに書き込む
import io
f = io.StringIO()
pd.DataFrame({'a':[1,2], 'b':[3,4]}).to_csv(f)
cursor = conn.cursor()
cursor.execute('create table bbbb (a int, b int);COMMIT; ')
cursor.copy_from(f, 'bbbb', columns=('a', 'b'), sep=',')
cursor.execute("select * from bbbb;")
a = cursor.fetchall()
print(a)
cursor.close()
をしかし、それは空のリスト[]
を返します。私は、次の試したほか、私はpandas.to_sql
を試してみたが、いくつかの理由でデータをコピーすることを企業にとり
1)、
2)。
私には2つの質問があります。つまり、Pythonコード(データフレーム)からPostgres DBにデータをコピーする最も速い方法は何ですか?私が試した2番目のアプローチで何が間違っていたのですか?
私は、次のエラーコードを受け取る現在のトランザクションは中止され、コマンドはトランザクションブロックの終了まで無視されます - いくつかのSQLエラーorr?のように見えますか? –
あなたは[トランザクション](https://www.postgresql.org/docs/current/static/tutorial-transactions)の真中にいます。 html)にエラーがありました。 'conn.rollback()'と 'conn.begin()'をもう一度実行する必要があります。 – Michael
ありがとう、しかし、まだ。 DataError:最後に予想された列の後の追加データ コンテキスト:COPY bbbb、行1: "0,1,3" –