があるデータフレーム.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.sql
。https://gist.github.com/jorisvandenbossche/10841234。
これはかなり前に書いたものなので、常に機能するとは完全には保証できませんが、基礎はそこにあるはずです。そのファイルを作業ディレクトリに置いてインポートすると、次の操作を実行できるはずです ( con
postgresql 接続はここにあります)。
import sql # the patched version (file is named sql.py)
sql.write_frame(df, 'table_name', con, flavor='postgresql')