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

pandas读取xlsx报TypeError:存在意外参数xfid的解决求助

报错原因

TypeError: __init__() got an unexpected keyword argument 'xfid' 是已安装的openpyxl版本过旧,无法识别xlsx文件中较新版本Office/导出工具新增的样式字段xfid导致。

解决思路
  • 方案1(优先推荐):升级openpyxl到最新版本
    执行升级命令:
pip install --upgrade openpyxl

升级完成后直接运行原有代码即可,无需修改代码逻辑。若升级时提示权限不足,可在命令末尾添加--user参数执行本地用户安装。

  • 方案2:跳过样式加载读取数据
    若环境限制无法升级openpyxl,且仅需读取文件数据不需要保留样式,可以直接调用openpyxl时添加参数跳过样式解析:
import pandas as pd
from openpyxl import load_workbook

filepath=r'C:\Users\smriti.rastogi\eclipseworkspace\demoproject\testfile1.xlsx'
# 开启只读模式、仅读取单元格值,跳过样式、链接解析
wb = load_workbook(filename=filepath, read_only=True, data_only=True, keep_links=False)
df = pd.DataFrame(wb['Sheet1'].values)
# 若需要保留原表头,补充以下两行代码
df.columns = df.iloc[0]
df = df[1:]
df.head()
  • 方案3:更换读取引擎
    可更换兼容性更强的calamine引擎读取文件,该引擎对各类非标准xlsx文件的适配性更好,读取速度也更快:
    首先安装依赖:
pip install python-calamine

修改读取代码:

import pandas as pd 

filepath=r'C:\Users\smriti.rastogi\eclipseworkspace\demoproject\testfile1.xlsx'
readFile = pd.read_excel(filepath, sheet_name='Sheet1', engine='calamine')
readFile.head()
  • 临时验证方案:直接用Excel/WPS打开目标xlsx文件,手动执行一次「另存为」操作保存为新的xlsx文件后再尝试读取,部分第三方工具导出的格式异常文件经另存后会自动修复兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:15:03