Nas*_*lla 6 python sqlalchemy pandas
我正在尝试在创建的表中插入一些数据。我有一个看起来像这样的数据框:
我创建了一个表:
create table online.ds_attribution_probabilities
(
attribution_type text,
channel text,
date date ,
value float
)
Run Code Online (Sandbox Code Playgroud)
我正在运行此python脚本:
engine = create_engine("postgresql://@e.eu-central-1.redshift.amazonaws.com:5439/mdhclient_encoding=utf8")
connection = engine.raw_connection()
result.to_sql('online.ds_attribution_probabilities', con=engine, index = False, if_exists = 'append')
Run Code Online (Sandbox Code Playgroud)
我没有收到任何错误,但是当我检查表中没有数据时。有什么事吗 我是否必须承诺或执行其他步骤?
小智 16
我遇到了类似的问题,因为我将 sqlalchemy连接对象而不是引擎对象传递给con参数。就我而言,表已创建但留空。
Max*_*axU 14
尝试指定架构名称:
result.to_sql('ds_attribution_probabilities', con=engine,
schema='online', index=False, if_exists='append')
Run Code Online (Sandbox Code Playgroud)
小智 11
希望这对其他人有帮助。to_sql如果您传递连接对象,则会以看似成功插入的形式静默失败。这对于 Postgres 绝对是正确的,但我假设其他人也是如此,基于方法文档:
con : sqlalchemy.engine.Engine or sqlite3.Connection
Using SQLAlchemy makes it possible to use any DB supported by that
library. Legacy support is provided for sqlite3.Connection objects.
Run Code Online (Sandbox Code Playgroud)
这让我着迷Union[Engine, Connection],因为打字提示指出,这在“技术上”是正确的。
如果你有一个SQLAlchemy尝试通过的会话con=session.get_bind(),
| 归档时间: |
|
| 查看次数: |
6543 次 |
| 最近记录: |