如何使用pandas转换结构不规范的Excel数据集?
pandas处理问题Excel数据集操作步骤
- 第一步:导入依赖库
import pandas as pd
- 第二步:按规则读取原始Excel数据
适配有效数据从第3行B列开始的规则,同时适配未合并的多级表头结构,默认按两级表头处理,可根据实际表头层级调整
header参数
# skiprows=2 跳过前2行无效内容,usecols参数过滤掉A列无效内容 df = pd.read_excel("你的本地文件路径.xlsx", skiprows=2, usecols=lambda col: not col.startswith("Unnamed: 0"), header=[0,1])
- 第三步:筛选仅保留
Revenues without discount相关内容
# 筛选第一级表头符合要求的列 df = df.loc[:, df.columns.get_level_values(0) == "Revenues without discount"] # 移除多余的表头层级,调整为单级表头 df.columns = df.columns.get_level_values(1)
- 第四步:删除所有标注为
total的行和列
# 删除含total的列,case=False表示不区分大小写匹配 df = df.loc[:, ~df.columns.str.contains("total", case=False)] # 删除第一列中含total的行,若分类列不是第一列可调整iloc的列索引 df = df[~df.iloc[:, 0].str.contains("total", case=False)]
- 第五步:整理输出目标格式文件
# 重置行索引 df = df.reset_index(drop=True) # 导出为Excel文件 df.to_excel("处理后结果.xlsx", index=False)
如果实际读取后数据结构和预设有差异,可先执行print(df.head())查看前几行数据结构,再调整筛选逻辑即可。
内容的提问来源于stack exchange,提问作者nikita1221
相关产品推荐
相关产品推荐

