sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo escribir DataFrame en la tabla de postgres?

A partir de pandas 0.14 (lanzado a fines de mayo de 2014), se admite postgresql. El sql el módulo ahora usa sqlalchemy para admitir diferentes tipos de bases de datos. Puede pasar un motor sqlalchemy para una base de datos postgresql (ver documentos). Por ejemplo:

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

Tiene razón en que en pandas hasta la versión 0.13.1 postgresql no era compatible. Si necesita usar una versión anterior de pandas, aquí hay una versión parcheada de pandas.io.sql :https://gist.github.com/jorisvandenbossche/10841234.
Escribí esto hace un tiempo, por lo que no puedo garantizar completamente que siempre funcione, pero la base debería estar ahí). Si coloca ese archivo en su directorio de trabajo y lo importa, entonces debería poder hacerlo (donde con es una conexión postgresql):

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