Vanaf pandas 0.14 (uitgebracht eind mei 2014), wordt postgresql ondersteund. De sql
module gebruikt nu sqlalchemy
om verschillende database-aroma's te ondersteunen. U kunt een sqlalchemy-engine doorgeven voor een postgresql-database (zie docs). Bijv.:
from sqlalchemy import create_engine
engine = create_engine('postgresql://username:[email protected]:5432/mydatabase')
df.to_sql('table_name', engine)
Je hebt gelijk dat in panda's tot versie 0.13.1 postgresql niet werd ondersteund. Als je een oudere versie van panda's wilt gebruiken, is hier een gepatchte versie van pandas.io.sql
:https://gist.github.com/jorisvandenbossche/10841234.
Ik heb dit een tijd geleden geschreven, dus kan niet volledig garanderen dat het altijd werkt, maar de basis zou er moeten zijn). Als je dat bestand in je werkmap plaatst en het importeert, dan zou je dat moeten kunnen doen (waar con
is een postgresql-verbinding):
import sql # the patched version (file is named sql.py)
sql.write_frame(df, 'table_name', con, flavor='postgresql')