python - SQL计算两列数据并更新第三列的值
问题描述
我的目标是在 2 列上计算一些数学,并用 3 列上的结果更新数据库。我正在为数据库使用 SQLITE3。数学目前很简单,因此设法获得以下 SQL UPDATE 函数来更新数据库的 40000 行。随着数学变得越来越复杂,我的目标是在查询两列上的数据库并随后更新第三行之后在 python 中计算数学。更新第三列的最佳方法是什么?如果遍历所有行,SET 函数倾向于使用最后一个循环的值更新整个列。非常感谢...
当前用于更新 ebitev 和 capreturn 列的 SQL 代码,对来自早期列的输入进行了简单的数学运算。
db = SQL("sqlite:///formula.db")
inventories=db.execute("SELECT ticker, ebit, ev, ppnenet, fcf, workingcapital FROM equity")
"""liste=[]"""
for inventory in inventories:
ebit = inventory["ebit"]
ev = inventory["ev"]
ppnenet = inventory["ppnenet"]
workingcapital = inventory["workingcapital"]
fcf = inventory["fcf"]
if ev == 'NULL':
db.execute("UPDATE equity SET ebitev='NULL'")
else:
ebitev = ebit / ev
"""liste.append(ebitev)"""
db.execute("UPDATE equity SET ebitev=ebit/ev")
if ppnenet == 'NULL' or workingcapital == 'NULL':
db.execute("UPDATE equity SET capreturn='NULL'")
else:
db.execute("UPDATE equity SET capreturn=ebit/(ppnenet+workingcapital)")
if fcf == 'NULL':
db.execute("UPDATE equity SET fcfyield='NULL'")
elif ev == 'NULL':
db.execute("UPDATE equity SET fcfyield='NULL'")
else:
db.execute("UPDATE equity SET fcfyield=fcf/ev")
解决方案
推荐阅读
- angularjs - 如何在本地存储在 Angular 根文件夹中的 Bootstrap4 Navbar 上显示图像?
- javascript - 为什么 css opacity 属性不适用于单击的图像
- typescript - rxjs返回地图内事件的结果
- c# - C# 异步任务
返回对象 - .net - 在 where 子句中使用非集群索引而不是索引查找时,MS SQL 执行计划中的索引扫描
- aws-lambda - “无服务器部署”不适用于 –aws-profile 选项,并且没有错误可调试
- c# - 使用文本提取器后,U-SQL 忽略在 JsonFunctions.JsonTuple() 中导致 JSON 异常的行
- amazon-cloudformation - 通过控制台更新到通过 CLI 使用相同的 json 更新时 AWS Cloudformation 堆栈的差异
- r - 使用平方函数选择列表中的元素
- javascript - 轻量级前端本地化