我的目标是在2列上计算一些数学,并用3列上的结果更新数据库。我正在为数据库使用SQLITE3。目前的数学计算非常简单,因此可以获得下面的SQL更新函数来更新数据库的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")
目前没有回答
相关问题 更多 >
编程相关推荐