使用pandas的ExcelWriter时,如何自动生成对应数量的多工作表?
自动生成对应数量的Excel工作表解决方案
当然有办法啦!手动写180行重复的to_excel语句实在太折磨人,咱们用一个简单的循环就能彻底解决这个问题,不管你需要生成180个还是其他数量的工作表,都能自动适配。
优化后的完整代码
Final = [] for i in q2: ... # 保留你原来生成各类elements并合并的逻辑 Df = pd.concat([SHT_elements, SMT_elements, SLT_elements], axis=0) Final.append(Df) from pandas import ExcelWriter writer = ExcelWriter('datafortrail.xlsx') # 核心循环:自动遍历所有DataFrame并生成对应工作表 for idx, df in enumerate(Final): # 生成工作表名称:sheet1、sheet2...sheetN(idx从0开始,所以加1) sheet_name = f'sheet{idx + 1}' df.to_excel(writer, sheet_name) writer.save()
代码说明
- 用
enumerate(Final)可以同时获取每个DataFrame的索引(idx)和对应的DataFrame对象(df) - 工作表名称通过
f-string动态生成:索引从0开始,所以加1就能得到sheet1到sheet180的命名 - 不管你的
Final列表里有多少个DataFrame(比如后续需求改成200个),这个循环都能自动适配,完全不用修改代码结构
内容的提问来源于stack exchange,提问作者Kiran
相关产品推荐
相关产品推荐

