我正在尝试更改数据库中的表格。但是我发现使用Pandas提供的to_sql方法很困难。我的price_data
数据框看起来像这样:
with con:
price_data.to_sql(con=con, name='clean_prices2', if_exists='append', index=False, flavor='mysql')
这里的最终目标是修改初始数据帧(将零值转换为Nan,然后插入它们),并将其保存回数据库中。结果应该如下所示(除了相同的id
):
如果你专门查看close_price
列,可以看到0值已分配为90.7350
我目前的解决方案是附加数据行,这会导致像这样的重复输入:
最后,我必须执行另一个查询来删除重复的行(基于price_date)
我知道我可以将if_exists
参数更改为替换,但这会删除我的数据库表的其余部分。基本上我想在不同的symbol_id
有没有修改子集(在这种情况下,只有3行)而不删除表中的其余数据?解决方案可以修改现有行(保持相同的id
)或删除旧行,并创建没有零的新行。我只是想在没有额外删除重复查询的情况下完成此任务。
答案 0 :(得分:0)
考虑一个具有精确结构的临时表作为最终表,但定期更换,然后将用于更新现有的最终表。尝试使用sqlalchemy engine进行这两项操作。
具体来说,对于后一种SQL,您将在临时表和最终表之间使用UPDATE JOIN查询。下面假设您使用var keyInfo Console.ReadKey(true);
var c = Char.ToLower(keyInfo.KeyChar);
Console.Write(c);
模块(根据需要进行调整):
pymysql