DataFrame を postgres テーブルに書き込む方法 質問する

DataFrame を postgres テーブルに書き込む方法 質問する

があるデータフレーム.to_sqlメソッドですが、mysql、sqlite、および oracle データベースでのみ機能します。このメソッドに postgres 接続または sqlalchemy エンジンを渡すことはできません。

ベストアンサー1

pandas 0.14(2014年5月末リリース)から、postgresqlがサポートされています。このsqlモジュールは、sqlalchemyさまざまなデータベースフレーバーをサポートするために使用しています。postgresqlデータベース用のsqlalchemyエンジンを渡すことができます(ドキュメント)。例:

from sqlalchemy import create_engine
engine = create_engine('postgresql://username:password@localhost:5432/mydatabase')
df.to_sql('table_name', engine)

pandas バージョン 0.13.1 までは postgresql がサポートされていなかったというのは正しいです。古いバージョンの pandas を使用する必要がある場合は、次のパッチを適用したバージョンがありますpandas.io.sqlhttps://gist.github.com/jorisvandenbossche/10841234
これはかなり前に書いたものなので、常に機能するとは完全には保証できませんが、基礎はそこにあるはずです。そのファイルを作業ディレクトリに置いてインポートすると、次の操作を実行できるはずです ( conpostgresql 接続はここにあります)。

import sql  # the patched version (file is named sql.py)
sql.write_frame(df, 'table_name', con, flavor='postgresql')

おすすめ記事