读取含合并单元格的Excel时,如何取消合并并生成标准DataFrame?
取消Excel合并单元格并生成标准DataFrame
问题分析
你读取的Excel文件存在合并单元格,导致pandas读取后Unnamed: 0列出现NaN——合并单元格仅在第一行保留值,后续行自动填充缺失值。只需填充这些缺失值,就能得到标准结构的DataFrame。
解决方案代码
import pandas as pd # 读取Excel文件(你的原有代码) df = pd.read_excel(folder + 'abcd.xlsx', sheet_name="Sheet1") # 向前填充合并单元格导致的缺失值 df['Unnamed: 0'] = df['Unnamed: 0'].ffill() # 重命名列名以提升可读性(可根据实际需求修改) df.rename(columns={ 'Unnamed: 0': '区域', 'Unnamed: 1': '房产类型', 'T12006': 'T1-2006', 'T22006': 'T2-2006', 'T32006': 'T3-2006' }, inplace=True) # 输出处理后的结果 print(df)
代码说明
ffill():全称forward fill,会将上一行的有效值向下填充到当前行的NaN位置,完美还原合并单元格的原始逻辑(合并单元格的内容属于所有行)。- 重命名列名:将默认的
Unnamed列名替换为有业务意义的名称,让DataFrame更易维护。
处理后效果
区域 房产类型 T1-2006 T2-2006 T3-2006 0 Casablanca Global 100 97.27252 93.464538 1 Casablanca Résidentiel 100 95.883979 92.414063 2 Casablanca Appartement 100 95.425152 91.674379 3 Casablanca Maison 100 101.463607 104.039383 4 Casablanca Villa 100 102.45132 101.996932
内容的提问来源于stack exchange,提问作者bravopapa
相关产品推荐
相关产品推荐

