在单个电子表格中分布在工作表上的数据帧列表

2024-05-14 03:14:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用pandas创建一个电子表格,它通过一个代码对数据进行分组,并将每个分组放在excel电子表格的单独选项卡中

到目前为止,我已经创建了一个数据帧列表,但我无法将每个数据帧都放在电子表格上它自己的选项卡中

fss_infile = pd.ExcelFile('Report.xlsx')
lvl_1 = fss_infile.parse(sheet_name ='Lvl 1')
list_dfs = [lvl_1.loc[lvl_1['pc_code_last_4']==val, :] for val in lvl_1['pc_code_last_4'].unique()]

for i in list_dfs:
    i.to_excel('output.xlsx')

如何使每个数据帧位于一个单独的选项卡上,并带有pc_code_last_4值


Tags: 数据forcodevalxlsxexcelinfile选项卡
2条回答

你在找ExcelWriter。这应该做到:

writer = pd.ExcelWriter('Report.xlsx', engine='xlsxwriter')
for val in lvl_1['pc_code_last_4'].unique():
    df = lvl_1.loc[lvl_1['pc_code_last_4']==val, :]
    df.to_excel(writer, sheet_name=val)
writer.save()

使用pd.GroupBy我们使用pd.ExcelWriter创建一个空白excel对象,然后在数据框上循环,将相关组写入工作表

writer = pd.ExcelWriter('myfile.xlsx')
for group, data in df.groupby('pc_code_last_4'):
    data.to_excel(writer,sheet_name=f"{group}")
    print(f"{group} saved to spreadsheet")
writer.save()

相关问题 更多 >