0

我有一个字典,其中包含我使用循环创建的多个数据框。基本上是因为我想使用规则将输入数据文件拆分为更小的数据帧。主输入数据文件有变量 x1、x2、x3、x4,每个较小的数据帧只有 x1 = 0、x2 = 0 等的主输入观察值,如下所示:

data={}
Iteration = [x1, x2, x3, x4]

for n in iteration:
frame = pd.DataFrame(input file)
omit = (frame[n] ==0 )
data[n] = pd.Dataframe(frame.loc[~omit])

data 现在是一个包含所有较小数据帧的字典。但我想将每个数据框保存到 Excel 中。我认为要做到这一点,我必须通过使用循环将 dict 数据“分解”成小数据帧。所以我尝试了:

for n in data.items():
locals()['frame_{n}'.format(n)] = pd.DataFrame.from_dict(data[n])

但它不起作用,因为数据帧需要2个参数,而dict只有1个。我该怎么办?

4

1 回答 1

0

假设dfs是一个数据框字典,您可以将所有数据框写入 Excel,并将字典键作为工作表名称:

with pd.ExcelWriter(file, engine='xlsxwriter') as writer:
    for sheet, df in dfs.items():
        df.to_excel(writer, sheet_name=sheet)

要写为单独的文件:

for key, df in dfs.items():
    df.to_excel(f'___path___/{key}.xlsx')
于 2021-07-29T20:06:25.837 回答