高速パンダデータフレームをpostgresに書き込む

マルセル火星

pandasDataFrameからpostgesDBのテーブルにデータを書き込む最速の方法が気になります。

1)試しましたpandas.to_sqlが、何らかの理由でデータをコピーするにはエンティティが必要です。

2)私が以下を試した以外に:

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

しかし、それは空のリストを返します[]

だから私は2つの質問があります:Pythonコード(データフレーム)からpostgresDBにデータをコピーする最速の方法は何ですか?そして、私が試した2番目のアプローチで何が間違っていましたか?

マイケル

2番目のアプローチは非常に高速である必要があります。

コードには2つの問題があります。

  1. csvを書き込んだ後f、ファイルの最後に配置されます。読み始める前に、自分の位置を最初に戻す必要があります。
  2. csvを作成するときは、ヘッダーとインデックスを省略する必要があります

最終的なコードは次のようになります。

import io
f = io.StringIO()
pd.DataFrame({'a':[1,2], 'b':[3,4]}).to_csv(f, index=False, header=False)  # removed header
f.seek(0)  # move position to beginning of file before reading
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()

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

パンダがcsvにデータフレーム列を書き込む

分類Dev

パンダデータフレームをS3に書き込む

分類Dev

パンダのデータフレームをMySQLに書き込む

分類Dev

大きなパンダのデータフレームをSQLServerデータベースに書き込む

分類Dev

パンダのデータフレームにデータを書き込むための最適な方法

分類Dev

羽のファイルにパンダのデータフレームを書き込む際にエラー

分類Dev

パンダデータフレームの同じ行に辞書のリストを書き込む

分類Dev

パンダを使用してExcelシートにデータフレーム行を書き込む

分類Dev

パンダは、データフレームを書き込む前にcsvに詳細を追加する方法

分類Dev

パンダ-1つのExcelシートに複数のデータフレームを書き込む

分類Dev

forループの出力をパンダデータフレームに書き込む

分類Dev

FTPでパンダのデータフレームをcsv / xlsに直接書き込む方法

分類Dev

凍結されたセットの要素をパンダのデータフレームに書き込む

分類Dev

パンダ:データフレームの最初の行を垂直方向に書き込む

分類Dev

差分条件でパンダデータフレームに値(日時)を書き込む

分類Dev

Excelファイルをパンダデータフレームに読み込むより高速な方法

分類Dev

パンダ:データフレームでフィルタリングする条件を書き込む

分類Dev

タイムデルタ付きのパンダデータフレームを寄木細工に書き込む

分類Dev

fwfにデータフレームを書き込む際の右側のパディングスペース

分類Dev

to_sqlを使用してパンダデータフレームをOracleデータベースに書き込む方法は?

分類Dev

データフレームをhdfscsvにランダムな順序で書き込む方法は?

分類Dev

PandasデータフレームをMySQLに書き込む

分類Dev

SparkでTeradataにデータフレームを書き込む

分類Dev

パンダ:最初にデータフレームをエクスポートせずにExcelシートに書き込む方法は?

分類Dev

パンダデータをcsvに書き込む

分類Dev

ランダムな Python データを CSV ファイルに書き込む

分類Dev

複数のパンダデータフレームを複数のExcelワークシートに書き込む

分類Dev

パンダのデータフレームに0を埋め込む方法は?

分類Dev

パンダデータフレームをDBFファイルに書き込みますか?

Related 関連記事

  1. 1

    パンダがcsvにデータフレーム列を書き込む

  2. 2

    パンダデータフレームをS3に書き込む

  3. 3

    パンダのデータフレームをMySQLに書き込む

  4. 4

    大きなパンダのデータフレームをSQLServerデータベースに書き込む

  5. 5

    パンダのデータフレームにデータを書き込むための最適な方法

  6. 6

    羽のファイルにパンダのデータフレームを書き込む際にエラー

  7. 7

    パンダデータフレームの同じ行に辞書のリストを書き込む

  8. 8

    パンダを使用してExcelシートにデータフレーム行を書き込む

  9. 9

    パンダは、データフレームを書き込む前にcsvに詳細を追加する方法

  10. 10

    パンダ-1つのExcelシートに複数のデータフレームを書き込む

  11. 11

    forループの出力をパンダデータフレームに書き込む

  12. 12

    FTPでパンダのデータフレームをcsv / xlsに直接書き込む方法

  13. 13

    凍結されたセットの要素をパンダのデータフレームに書き込む

  14. 14

    パンダ:データフレームの最初の行を垂直方向に書き込む

  15. 15

    差分条件でパンダデータフレームに値(日時)を書き込む

  16. 16

    Excelファイルをパンダデータフレームに読み込むより高速な方法

  17. 17

    パンダ:データフレームでフィルタリングする条件を書き込む

  18. 18

    タイムデルタ付きのパンダデータフレームを寄木細工に書き込む

  19. 19

    fwfにデータフレームを書き込む際の右側のパディングスペース

  20. 20

    to_sqlを使用してパンダデータフレームをOracleデータベースに書き込む方法は?

  21. 21

    データフレームをhdfscsvにランダムな順序で書き込む方法は?

  22. 22

    PandasデータフレームをMySQLに書き込む

  23. 23

    SparkでTeradataにデータフレームを書き込む

  24. 24

    パンダ:最初にデータフレームをエクスポートせずにExcelシートに書き込む方法は?

  25. 25

    パンダデータをcsvに書き込む

  26. 26

    ランダムな Python データを CSV ファイルに書き込む

  27. 27

    複数のパンダデータフレームを複数のExcelワークシートに書き込む

  28. 28

    パンダのデータフレームに0を埋め込む方法は?

  29. 29

    パンダデータフレームをDBFファイルに書き込みますか?

ホットタグ

アーカイブ