我有多个数据框,我为每个数据框创建一个单独的 Excel 工作表。完成此操作后,我想为每张纸添加特定列的总和。
我尝试创建一个字典,并在 for 循环中创建数据框时将 Excel 工作表的名称和我想要的列的总和添加到字典中。 这是我所做的一个例子:
for p in list:
total = {}
...
df[p] = pd.Dataframe(list)
total[p] = df[p]['column'].sum()
.....
sheet['D32'] = total.get(sheet_name)
当我这样做时,总字典在每次迭代时都会不断更新,最后对于 Excel 文件中的每个工作表,我都会得到与最后一个数据帧相对应的相同值。你能帮我解决一下吗?
您正在循环内初始化
total
,因此它会在每次迭代时重新初始化。在循环之前初始化它:
total = {}
for p in list:
...
df[p] = pd.Dataframe(list)
total[p] = df[p]['column'].sum()
.....
sheet['D32'] = total.get(sheet_name)