sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur skriver man DataFrame till postgres-tabellen?

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


  1. TO_TIMESTAMP() Funktion i Oracle

  2. Hur konverterar man XMLTYPE till VARCHAR i ORACLE?

  3. Den lagrade proceduren för att hämta instansinställningarna

  4. Applikationsstackens framtid