PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como escrever DataFrame na tabela postgres?


A partir do pandas 0.14 (lançado no final de maio de 2014), o postgresql é suportado. O sql módulo agora usa sqlalchemy para suportar diferentes tipos de banco de dados. Você pode passar um mecanismo sqlalchemy para um banco de dados postgresql (consulte a documentação). Por exemplo.:
from sqlalchemy import create_engine
engine = create_engine('postgresql://username:[email protected]:5432/mydatabase')
df.to_sql('table_name', engine)

Você está correto que em pandas até a versão 0.13.1 o postgresql não era suportado. Se você precisar usar uma versão mais antiga do pandas, aqui está uma versão corrigida de pandas.io.sql :https://gist.github.com/jorisvandenbossche/10841234.
Eu escrevi isso há um tempo atrás, então não posso garantir totalmente que sempre funcione, mas a base deve estar lá). Se você colocar esse arquivo em seu diretório de trabalho e importá-lo, poderá fazer (onde con é uma conexão postgresql):
import sql  # the patched version (file is named sql.py)
sql.write_frame(df, 'table_name', con, flavor='postgresql')