Я использую Python 2.7
& openpyxl==2.5.11
.
Я хочу прочитать .xlsx
файлы, используя openpyxl
.Сначала я тестировал файлы, загруженные с Google Диска, и все работало хорошо.
Теперь я попытался загрузить некоторые файлы, созданные в Microsoft Excel, но вижу эту ошибку:
raise IOError("File contains no valid workbook part")
IЯ попытался напечатать некоторые переменные и выяснить сам, но мне не хватает глубоких знаний о файлах 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 или более старую версию для создания файлов, так что, может быть, в этом проблема?
Заранее спасибо