用途:当 pandas.read_excel() 因表头不在第 0 行、表头区含合并单元格、表头行位置未知或不一致、数据前有多行标题/元数据而失败时,使用本技能解析这类不规则 Excel 文件。
主要能力:先以 header=None 读取整张表获取原始数据;再扫描行,用正则模式(如 Store ID、ID\d{4}、Week \d+、Date、Store、Product、ID)匹配定位真实表头行,匹配失败时回退到首个非空行;随后提取并清洗表头,将空值替换为 col_序号,去除空白,并对重复列名加后缀;接着从表头行之后提取数据行、重置索引、删除全空行;最后做基础校验与类型转换,将含 id/code 的列保留为字符串,数值列用 pd.to_numeric 转换,并可按关键列过滤无效行。
使用方式:按步骤调用上述流程,或使用资料中给出的 parse_irregular_excel(filepath, sheet_name=0) 完整函数,该函数检查前 15 行寻找表头。建议先用 df_raw.head(20) 查看结构,再根据实际列名调整正则模式。
适用场景:数据前有 6-9 行以上标题/元数据、表头区有合并单元格导致错位、表头位置不可预测、多工作表结构不一致的文件。
限制:不适用于表头在第 0 行的标准文件(直接用 read_excel())、结构一致且已知的文件(用显式 header= 参数)、已知确切表头行位置的情况(直接指定)。合并单元格常产生 NaN,需按需填充。资料未提供安装命令、收费、平台或效果信息。