PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment écrire DataFrame dans la table postgres?

À partir de pandas 0.14 (publié fin mai 2014), postgresql est pris en charge. Le sql le module utilise maintenant sqlalchemy pour prendre en charge différentes saveurs de base de données. Vous pouvez passer un moteur sqlalchemy pour une base de données postgresql (voir docs). Ex. :

from sqlalchemy import create_engine
engine = create_engine('postgresql://username:[email protected]:5432/mydatabase')
df.to_sql('table_name', engine)

Vous avez raison de dire que dans les pandas jusqu'à la version 0.13.1, postgresql n'était pas pris en charge. Si vous avez besoin d'utiliser une ancienne version de pandas, voici une version corrigée de pandas.io.sql :https://gist.github.com/jorisvandenbossche/10841234.
J'ai écrit ceci il y a un moment, donc je ne peux pas pleinement garantir que cela fonctionne toujours, mais la base devrait être là). Si vous placez ce fichier dans votre répertoire de travail et que vous l'importez, vous devriez pouvoir faire (où con est une connexion postgresql) :

import sql  # the patched version (file is named sql.py)
sql.write_frame(df, 'table_name', con, flavor='postgresql')