使用Pandas读取含三层表头的Excel文件遇问题求解决方案
读取三层表头Excel文件的解决方案
你之前用header=[0,2]只指定了第0行和第2行作为表头,跳过了中间的第1行,自然看不到完整的三层表头结构。要读取连续的三层表头,直接把三行的索引全部传入header参数即可:
import pandas as pd df_test = pd.read_excel("testing_column.xlsx", header=[0,1,2])
额外提示
- 确认这三行确实都是表头行,没有数据行混在其中,否则会错误地把数据识别为表头
- 如果表头存在合并单元格,pandas会自动将合并的表头值填充到对应列的表头位置,无需手动处理
- 读取完成后,可以用
print(df_test.columns)查看完整的多层表头结构,验证是否符合预期
如果后续需要将多层表头扁平化(比如转成单层表头方便数据处理),可以用这段代码快速合并层级:
# 用下划线连接多层表头的各个层级,生成单层表头 df_test.columns = ['_'.join(str(col) for col in col_tuple).strip() for col_tuple in df_test.columns]
内容的提问来源于stack exchange,提问作者namaw
相关产品推荐
相关产品推荐

