我使用Python 2.7
和openpyxl==2.5.11
。
我想使用openpyxl
读取.xlsx
文件。最初我是用从Google Drive下载的文件进行测试,一切都很好。
现在,我试图加载一些文件生成的Microsoft Excel,但我看到这个错误:raise IOError("File contains no valid workbook part")
我试着打印一些变量并自己计算,但我缺乏对Excel文件的深入了解,并且有一些抽象层次我无法快速理解。
下面是引发错误的相关代码(excel.py
):
def _find_workbook_part(package):
workbook_types = [XLTM, XLTX, XLSM, XLSX]
for ct in workbook_types:
part = package.find(ct)
if part:
return part
# some applications reassign the default for application/xml
defaults = set((p.ContentType for p in package.Default))
workbook_type = defaults & set(workbook_types)
if workbook_type:
return Override("/" + ARC_WORKBOOK, workbook_type.pop())
raise IOError("File contains no valid workbook part")
字符串
我在OSX和Ubuntu上都有问题,如果这是相关的。
**编辑:**我无法重现我自己生成的文件的问题。我认为这个问题只能用旧文件重现。有问题的人使用Excel 2008或旧版本创建文件,所以也许这就是问题所在?
Thanks in advance
2条答案
按热度按时间csga3l581#
这对我很有效
字符串
答案来源:Using Pandas with XLSB File
wgeznvg72#
可能是因为你没有保存那些.xlsx正确,如简单地改变文件后缀为xlsx。
这里有一个解决方案,为我工作:
将无法打开的文件重新保存为.xlsx,即使这些文件已经有.xlsx后缀。
如果你不知道哪些文件需要重新保存,开始与不寻常的大尺寸的文件.