请求编写Python脚本将Excel表格转换为扁平视图以用于分析
解决方案:将Excel转换为扁平视图
依赖安装
先安装处理Excel所需的Python库:
pip install pandas openpyxl
Python脚本示例
假设你的源表格存在分组/嵌套类的非扁平结构(比如某列是大类,对应多行子项),以下脚本可快速完成转换:
import pandas as pd # 读取源Excel文件 df = pd.read_excel("input ex.xlsx", engine="openpyxl") # 将宽表转为扁平表(根据你的实际列结构调整id_vars和value_vars参数) # 示例:假设"类别"是唯一标识列,其余列需要拆解为扁平条目 flat_df = pd.melt(df, id_vars=["类别"], var_name="属性", value_name="值") # 保存为目标Excel文件 flat_df.to_excel("out ex.xlsx", index=False, engine="openpyxl")
特殊结构预处理
如果源表格有合并单元格或多级表头,需要先做预处理:
- 合并单元格:用
ffill()填充合并列的空值,确保每行都有完整标识 - 多级表头:先将多级表头合并为单层,再执行扁平化操作
处理合并单元格的示例:
df = pd.read_excel("input ex.xlsx", engine="openpyxl") # 填充第一列合并单元格的空值 df["类别"] = df["类别"].ffill() # 执行扁平化 flat_df = pd.melt(df, id_vars=["类别"], var_name="属性", value_name="值") flat_df.to_excel("out ex.xlsx", index=False, engine="openpyxl")
如果你的源表格结构和示例不符,可以补充具体的列名、数据排布细节,我会帮你调整代码。
内容的提问来源于stack exchange,提问作者Andrey Mokin
相关产品推荐
相关产品推荐

