我想在从数据帧pandas
一个MySQL表(mydata1
)来更新列rtrend
(getdata1
)柱rtrend
确保值对应于相应的日期(dt
)SQL炼金更新多个WHERE条件
例如rtrend
值2016-08-09
from getdata1
df更新相应的MySQL mydata1
2016-08-09
rtrend
值。
另外指定一个特定的安全ID例如security_id == 'GS'
在这种情况下
updateexample = update(mydata1)
.where(mydata1.c.security_id=='GS', mydata1.c.dt==getdata1['dt'])
.values(rtrend=getdata1['rtrend'])
这将产生AttributeError: 'Series' object has no attribute 'translate'
请会有人用正确的方式去帮助呢?当前表和数据帧的
实施例:
大熊猫数据帧 'getdata1'
dt | security_id | rtrend
2016-08-09 | GS | 1
2016-08-10 | GS | -1
MySQL表 'mydata1'
dt | security_id | rtrend
2016-08-09 | GS | NULL
2016-08-10 | GS | NULL
了解批量更新; [示例](http://stackoverflow.com/a/25720751/223424)。这个想法是''bindparam'你想要更新的字段,并且将一个迭代器提供给'.execute'。可能'getdata1'的输出可以直接使用。 (我希望你只是为了创建一个例子而重命名了所有的对象,并且在你的真实代码中使用了描述性的名字。) – 9000
谢谢Stefano。为了示例的目的,只是重命名了对象 – Matthewj28