Windows10+PyCharm下openpyxl报TypeError: __init__()意外参数'xxid'
解决openpyxl加载Excel时出现
xxid参数错误的问题 错误原因
这个TypeError: __init__() got an unexpected keyword argument 'xxid'错误,本质是Excel文件包含了openpyxl不兼容的自定义样式属性(xxid通常是非标准编辑器/插件添加的扩展标记),导致样式解析失败。
解决方法
1. 修复Excel文件格式
- 用Microsoft Excel打开目标文件,执行另存为操作,选择标准的
.xlsx格式保存(不要选旧版.xls或自定义格式),覆盖原文件或保存为新文件后重试。 - 若上述方法无效,新建空白Excel文件,将原文件所有工作表的内容复制粘贴到新文件中,保存后再用openpyxl加载。
2. 调整openpyxl版本
- 先卸载当前版本:
pip uninstall openpyxl -y - 安装最新稳定版:
pip install --upgrade openpyxl - 若最新版仍报错,尝试兼容旧格式的版本:
pip install openpyxl==3.0.10
3. 临时绕过样式加载(仅需读取数据时使用)
修改load_workbook调用,添加参数跳过样式解析:
import openpyxl from openpyxl import load_workbook # 添加data_only=True和read_only=True跳过样式 workbook = load_workbook('你的文件路径.xlsx', data_only=True, read_only=True) sheet = workbook['PupilList'] cell_value = sheet['A1'].value print(cell_value)
注意:该方法只能读取单元格的实际数值,无法读取公式和样式。
内容的提问来源于stack exchange,提问作者JoeyB
相关产品推荐
相关产品推荐

