如何实现带合并单元格的多级列Excel数据逐行分类导出
Excel多层合并单元格层级展开方案
实现思路
合并单元格读取后仅首行有有效值,其余行均为NaN,我们可以先逐列向前填充所有层级的有效值,再按最末级非空的行提取完整层级路径即可实现需求,无需手动计算每个分类的行范围。
可直接运行的完整代码
import pandas as pd # 读取Excel文件,若你的输入文件有表头可删除header=None参数 df = pd.read_excel('input.xlsx', header=None) # 逐列向前填充空值,自动补全合并单元格对应行的内容 for col in df.columns: df[col] = df[col].ffill() # 过滤掉最末列为空的行,保留所有完整层级的记录 result_df = df[df[df.columns[-1]].notna()].reset_index(drop=True) # 可自定义列名,不需要可删除此行 result_df.columns = [f'层级{i+1}' for i in range(result_df.shape[1])] # 导出结果 result_df.to_excel('output.xlsx', index=False)
效果说明
输出的Excel文件第一列为一级分类,第二列为对应二级分类,第三列为对应三级分类,每行均为完整的层级路径,完全匹配示例要求的对齐输出效果,且支持任意层级的合并单元格展开,无需针对层级数量修改代码逻辑。
内容的提问来源于stack exchange,提问作者MasOOd.KamYab
相关产品推荐
相关产品推荐

