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