Från och med pandas 0.14 (släpptes i slutet av maj 2014), stöds postgresql. sql
modulen använder nu sqlalchemy
för att stödja olika databassmaker. Du kan skicka en sqlalchemy-motor för en postgresql-databas (se dokument). T.ex.:
from sqlalchemy import create_engine
engine = create_engine('postgresql://username:[email protected]:5432/mydatabase')
df.to_sql('table_name', engine)
Du har rätt i att postgresql inte stöddes i pandor upp till version 0.13.1. Om du behöver använda en äldre version av pandor, här är en korrigerad version av pandas.io.sql
:https://gist.github.com/jorisvandenbossche/10841234.
Jag skrev detta för ett tag sedan, så kan inte helt garantera att det alltid fungerar, men grunden borde finnas där). Om du lägger den filen i din arbetskatalog och importerar den, bör du kunna göra det (där con
är en postgresql-anslutning):
import sql # the patched version (file is named sql.py)
sql.write_frame(df, 'table_name', con, flavor='postgresql')