有 DataFrame.to_sql 方法,但仅适用于mysql,sqlite和oracle数据库。我无法传递给此方法postgres连接或sqlalchemy引擎。
从pandas 0.14(2014年5月发行)开始,支持postgresql。该sql模块现在用于sqlalchemy支持不同的数据库风格。您可以为PostgreSQL数据库传递sqlalchemy引擎(请参阅docs)。例如:
sql
sqlalchemy
from sqlalchemy import create_engine engine = create_engine('postgresql://scott:tiger@localhost:5432/mydatabase') df.to_sql('table_name', engine)
您是正确的,在不支持0.13.1版本的熊猫中,不支持postgresql。如果您需要使用旧版本的熊猫,请使用以下修补版本pandas.io.sql:https : //gist.github.com/jorisvandenbossche/10841234。 我是在前一段时间写的,所以不能完全保证它始终有效,但是基础应该在那里)。如果您将该文件放在工作目录中并导入,那么您应该能够做到(conPostgreSQL连接在哪里):
pandas.io.sql
con
import sql # the patched version (file is named sql.py) sql.write_frame(df, 'table_name', con, flavor='postgresql')