sql >> Database >  >> RDS >> PostgreSQL

Hoe DataFrame naar de postgres-tabel te schrijven?

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


  1. Moet er één SQLiteOpenHelper zijn voor elke tabel in de database?

  2. lijstweergave toont de gegevens uit de database in Android

  3. Hoe een vierkant in SQL te berekenen

  4. WinRT System.Data - Verbinding maken met SQL