代码之家  ›  专栏  ›  技术社区  ›  giliev Kristijan Iliev

为什么一些.xlsx文件可以用openpyxl成功打开,而其他文件却无法打开?

  •  1
  • giliev Kristijan Iliev  · 技术社区  · 6 年前

    我正在使用 Python 2.7 openpyxl==2.5.11 .

    我想读书 .xlsx 文件使用 openpyxl . 最初我是用从googledrive下载的文件进行测试,一切都很好。

    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")
    

    编辑:

    提前谢谢

    0 回复  |  直到 6 年前
        1
  •  0
  •   Yikun    4 年前

    可能是因为您没有正确保存这些.xlsx,例如简单地将文件后缀更改为xlsx。

    将无法打开的文件重新保存到.xlsx,即使这些文件已经有.xlsx后缀。

    如果您不知道哪些文件需要重新保存,请从大小异常大的文件开始。