我想将一个pandas DataFrame写入到PostgreSQL数据库中,使用带有模式限定的表名。
我使用以下代码:
import pandas.io.sql as psql
from sqlalchemy import create_engine
engine = create_engine(r'postgresql://some:user@host/db')
c = engine.connect()
conn = c.connection
df = psql.read_sql("SELECT * FROM xxx", con=conn)
df.to_sql('a_schema.test', engine)
conn.close()
发生的情况是pandas在名为“a_schema.test”的表中写入模式“public”,而不是在“a_schema”模式中的“test”表中进行写入。
我该如何指示pandas使用与public不同的模式?
谢谢
engine.connect()
创建连接对象,只需将引擎传递给read_sql
即可。此外,该函数在顶级 pandas 中可用,因此无需导入psql
。 - joris