我有一个脚本,它发出一个DB调用,然后以元组的形式返回结果。DB调用跟踪从年到数据、从月到日和从周到日格式的数据。你知道吗
由于新的财政年度,我不再像预期的那样获取某些项目的任何年初至今的数据,但是如果DB没有返回任何内容,我需要在元组中创建一个条目,这样最终的表将显示所有位置,如果没有返回任何内容,则写入一个零。你知道吗
以下是我所拥有的:
def Main():
template = (('ham', '0905', 0), ('Wind', '852', 0), ('Wash', '3292', 0), ('Chitt', '3367', 0))
yr = sql_fin('year')
yr = db_query(yr) # Yearly Data Returned Here
print("YEAR: {} ".format(yr))
if yr:
pass
else:
yr = template
if len(yr) < len(template):
for each in yr:
for part in template:
if each[0] == part[0]:
pass
else:
yr = yr + (part,)
else:
pass
mnth = sql_fin('month')
mnth = db_query(mnth) # Monthly Data Returned Here
print("MONTH: {} ".format(mnth))
wk = sql_fin('week')
wk = db_query(wk) # Weekly Data Returned Here
print("WEEK: {} ".format(wk))
data = {(name, n): [y, 0, 0] for name, n, y in yr}
print("DATA:".format(data))
for name, n, m in mnth:
data[name, n][1] = m
for name, n, w in wk:
data[name, n][2] = w
data = tuple(tuple([*k, *v]) for k, v in data.items())
print("DATA: {}".format(data))
return data
我试图添加一个默认的模板,但我没有做得很好。现在其他的数字(每月和每周)都来了,但是所有的年度数据都归零了。你知道吗
我没看到什么??你知道吗
与模板相比,如果返回类似的内容:
(('ham', '0905', 3), ('Wind', '852', 4))
如何确保其他条目在不更改数据的情况下进入
你可以用defaultdict来做
相关问题 更多 >
编程相关推荐