sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan skriver man DataFrame til postgres-tabel?

Fra pandas 0.14 (udgivet i slutningen af ​​maj 2014) understøttes postgresql. sql modul bruger nu sqlalchemy for at understøtte forskellige databasevarianter. Du kan sende en sqlalchemy-motor til en postgresql-database (se dokumenter). F.eks.:

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

Du har ret i, at i pandaer op til version 0.13.1 blev postgresql ikke understøttet. Hvis du skal bruge en ældre version af pandaer, er her en patchet version af pandas.io.sql :https://gist.github.com/jorisvandenbossche/10841234.
Jeg skrev dette for et stykke tid siden, så kan ikke helt garantere, at det altid virker, men grundlaget burde være der). Hvis du lægger den fil i din arbejdsmappe og importerer den, bør du være i stand til at gøre det (hvor con er en postgresql-forbindelse):

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


  1. ORACLE SQL listegg funktion

  2. Alibaba Cloud

  3. Vigtig PostgreSQL-overvågning - del 2

  4. Oracle 11g - Unpivot