Почему некоторые файлы .xlsx успешно открываются с помощью openpyxl, а другие нельзя открыть? - PullRequest
0 голосов
/ 22 ноября 2018

Я использую 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 или более старую версию для создания файлов, так что, может быть, в этом проблема?

Заранее спасибо

...