简体   繁体   English

当扩展名不是 .xlsx 时,openpyxl 不会打开 XLSX 文件

[英]openpyxl won't open XLSX file when extension is not .xlsx

I am using openpyxl to read an Excel XLSX file, but openpyxl won't open it, unless I explicitly give it a .xlsx extension.我正在使用 openpyxl 读取 Excel XLSX 文件,但 openpyxl 不会打开它,除非我明确地给它一个.xlsx扩展名。 Otherwise, I get this error:否则,我会收到此错误:

openpyxl.utils.exceptions.InvalidFileException: openpyxl does not support file format, please check you can open it with Excel first. openpyxl.utils.exceptions.InvalidFileException: openpyxl 不支持文件格式,请先检查是否可以用 Excel 打开。 Supported formats are: .xlsx,.xlsm,.xltx,.xltm支持的格式有:.xlsx、.xlsm、.xltx、.xltm

I open the file like this:我这样打开文件:

wb_input = load_workbook(filename_without_extension)

When using file on the file, I see it is, in fact, an Excel 2007+ (xlsx) file.file时,我看到它实际上是一个 Excel 2007+ (xlsx) 文件。

[bf@localhost ~]$ file my_excel_file
my_excel_file: Microsoft Excel 2007+

And when copying to a filename with a .xlsx extension, openpyxl does open it.当复制到扩展名为.xlsx的文件名时,openpyxl 会打开它。

How can I open a valid xlsx file without extension, using openpyxl?如何使用 openpyxl 打开没有扩展名的有效 xlsx 文件?

Turns out load_workbook also accepts a file-like object, so this works:原来load_workbook也接受一个类似文件的对象,所以这有效:

with open(filename_without_extension, "rb") as wbook:
    wb_input = load_workbook(wbook)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM