sql >> データベース >  >> RDS >> PostgreSQL

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

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



    1. Oracleのデフォルトの制約名は何ですか?

    2. Oracle / SQL:クエリSELECT*FROMレコードWHERErownum>=5 AND rownum<=10-ゼロ行を返すのはなぜですか

    3. OracleのTRUNC(date)関数

    4. テーブルのセットでCDCを有効にする方法、またはSQLServerのデータベース内のすべてのテーブルで有効にする方法-SQLServerチュートリアル