PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie schreibe ich DataFrame in die Postgres-Tabelle?

Ab pandas 0.14 (veröffentlicht Ende Mai 2014) wird postgresql unterstützt. Die sql Modul verwendet jetzt sqlalchemy um verschiedene Datenbankvarianten zu unterstützen. Sie können eine sqlalchemy-Engine für eine Postgresql-Datenbank übergeben (siehe Dokumentation). Beispiel:

from sqlalchemy import create_engine
engine = create_engine('postgresql://username:[email protected]:5432/mydatabase')
df.to_sql('table_name', engine)

Sie haben Recht, dass in Pandas bis Version 0.13.1 postgresql nicht unterstützt wurde. Wenn Sie eine ältere Version von Pandas verwenden müssen, finden Sie hier eine gepatchte Version von pandas.io.sql :https://gist.github.com/jorisvandenbossche/10841234.
Ich habe dies vor einiger Zeit geschrieben, kann also nicht vollständig garantieren, dass es immer funktioniert, aber die Basis sollte vorhanden sein). Wenn Sie diese Datei in Ihr Arbeitsverzeichnis legen und importieren, sollten Sie in der Lage sein, (wobei con ist eine postgresql-Verbindung):

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