为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 DataFrame 导出到多张 Excel 文件

如何将 DataFrame 导出到多张 Excel 文件

波斯汪 2022-10-18 15:58:41
假设我有一个 8000 行 x 7 列的数据框。数据概览data = pd.read_excel('tmp.xlsx')data.head(10)ID          Type    CatID   Val1    val2    Comment      Disposition20192658     N       52     256     358     Processing    In Progress20192658     N       53     258     365     repairing     In Progress20192658     N       53     258     365     Processed     Resloved20192753     K       98     324     347     Processing    In Progress20192753     K       87     365     378     Repairing     In Progress20192753     K       84     357     364     Processed     Resolved20192854     J       98     324     347     Processing    In Progress20192854     J       87     365     378     Repairing     In Progress20192854     J       84     357     364     Processed     Resolved20192789     M       96     369     345     Processing    In Progress数据框中大约有 197 个唯一 ID。我正在尝试将每个 ID 的数据导出到 Excel 到单独的工作表中。截至目前,我正在手动过滤数据并附加到每张纸上。在 python 中做 soo 有什么简单更好的方法吗?所需输出
查看完整描述

2 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

鉴于您的数据框data:

遍历每个唯一 ID 并对这些值的数据帧进行切片,然后保存到文件中。

import pandas as pd


with pd.ExcelWriter('data.xlsx') as writer:

    for i, value in enumerate(data.ID.unique(), start=1):

        data[data.ID == value].to_excel(writer, index=False, sheet_name=f'Sheet{i}')

我认为您最好将每张工作表命名为 ID 值而不是Sheet1等。例如sheet_name=f'{value}'

这将允许您辨别每个 ID 在哪张纸上。

pandas.DataFrame.to_excel

import pandas as pd


with pd.ExcelWriter('data.xlsx') as writer:

    for value in data.ID.unique():

        data[data.ID == value].to_excel(writer, index=False, sheet_name=f'{value}')


查看完整回答
反对 回复 2022-10-18
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

您需要在每张工作表中分隔所需文件的各个部分,并使用 with 语句运行 ExcelWriter 方法


output_name = ' '

with pd.ExcelWriter(output_name) as writer:

    data.iloc[0:4].to_excel(writer, sheet_name='my_sheet1')

    data.iloc[4:8].to_excel(writer, sheet_name='my_sheet2')

切片 read_excel 方法的输出的语法可能不正确,但 to_excel 是 DataFrame 的一种方法,只要您获得所需的对象数据部分,这应该可以工作。


查看完整回答
反对 回复 2022-10-18
  • 2 回答
  • 0 关注
  • 152 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信