You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pandas拆分Excel合并表头出现sequence报错如何解决

问题解决方法

sequence item 0: expected str instance, float found报错的核心原因是Excel合并单元格仅首个位置存储实际值,其余位置为空,pandas读取后空值会被识别为浮点类型的NaN,直接拼接多层表头时字符串和浮点类型混用触发类型错误。

你可以按以下步骤处理:

  • 先读取表头行做数据清洗,避免空值导致的类型问题
import pandas as pd

# 先读取前2行表头数据,不自动识别表头,表头层数更多的话调整nrows参数即可
header_df = pd.read_excel('你的文件路径.xlsx', header=None, nrows=2)
# 第一层表头(第一行)的合并单元格空值向前填充,补全合并位置的值
header_df.iloc[0] = header_df.iloc[0].ffill()
# 把所有空值替换为空字符串,统一为字符串类型避免报错
header_df = header_df.fillna('')
# 拼接两层表头,你可以根据需求调整分隔符
new_header = header_df.iloc[0].astype(str) + '_' + header_df.iloc[1].astype(str)
# 清理末尾多余的下划线(对应第二层表头为空的列)
new_header = [col.rstrip('_') for col in new_header]

# 重新读取正式数据,跳过前2行表头,设置新的列名
df = pd.read_excel('你的文件路径.xlsx', skiprows=2, header=None)
df.columns = new_header
  • 处理完成后可以直接打印df.columns验证表头是否符合预期。

内容的提问来源于stack exchange,提问作者hughugy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 08:24:03