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

如何使用openpyxl打开不带.xlsx扩展名的有效XLSX文件?

报错原因

load_workbook接收字符串格式的文件路径时,会先提取路径的扩展名做白名单校验,仅当扩展名为.xlsx、.xlsm、.xltx、.xltm四类时才会继续读取文件内容,不会主动探测文件的真实格式。因此只要路径不带对应后缀,哪怕文件内容是完全合法的XLSX格式,也会直接抛出InvalidFileException。

解决方法

无需重命名原文件,也不需要额外复制带后缀的副本,直接以二进制只读模式打开目标文件,将文件对象传入load_workbook即可绕过后缀名校验逻辑,openpyxl会直接解析文件内容完成加载:

from openpyxl import load_workbook

# 必须使用二进制只读模式rb打开,xlsx本质是zip压缩的二进制格式,文本模式读取会出错
with open("my_excel_file", "rb") as f:
    wb_input = load_workbook(f)

该方法对所有openpyxl支持的格式通用,只要文件本身内容合法,无论是否带后缀、后缀名是什么都可正常读取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 22:18:14