【发布时间】:2019-06-17 05:27:29
【问题描述】:
是否可以使用 df.to_sql() 以仅替换调用它的 df 中可用的值,而无需像传递“if_exists=replace”时那样抓取整个表?
我在下面的示例中看到了包含复杂代码、会话生成器等的示例:
How to update SQLAlchemy row entry?
Updating specific row in SQLAlchemy
Updating row in SqlAlchemy ORM
但它太令人费解了。按照我尝试的 SQLAlchemy 示例:
https://docs.sqlalchemy.org/en/latest/core/dml.html#sqlalchemy.sql.expression.Update
from sqlalchemy.sql import update, table, column, select, text
update(table('tbl_plans')).where("portfolio_id_host=='TESTING'").values(portfolio_id_host='Tested')
但它产生的只是:
<sqlalchemy.sql.dml.Update object at 0x00000193C18F8630>
并没有进行实际更新。
在 df 上使用 .to_sql() 只包含我想要更新的行删除现有表,创建新表,插入行。有没有一种优雅/有效的方式来更新正是我需要的? (通过更新我不是指删除、创建、插入)而是实际的 UPDATE SQL 等效项
【问题讨论】:
标签: python-3.x pandas sqlalchemy