如何用for循环简化多DataFrame写入Excel多工作表的重复代码?
可以用for循环简化代码
当然可以,你可以把DataFrame和对应的工作表名配对成可迭代序列,通过for循环批量处理,避免重复代码块。
简化后的代码:
# 将DataFrame与对应工作表名配对 df_sheet_pairs = [ (FC_filter1, 'FC_filter1'), (FC_filter2, 'FC_filter2'), (FC_filter3, 'FC_filter3') ] with pd.ExcelWriter(path, mode='a', if_sheet_exists='replace', engine="openpyxl") as writer: for df, sheet_name in df_sheet_pairs: # 注意:index参数需传布尔值False,而非字符串'False',否则会被识别为True df.to_excel(writer, sheet_name=sheet_name, index=False)
补充说明:
- 用元组列表
df_sheet_pairs关联DataFrame和工作表名,逻辑清晰且易维护,后续新增表时只需在列表中添加新元组即可。 - 原代码中
index='False'是错误写法:字符串'False'在Python中会被判定为布尔值True,导致索引被写入Excel。正确写法是传入布尔值index=False,以此去掉索引列。
内容的提问来源于stack exchange,提问作者dhananya s
相关产品推荐
相关产品推荐

