openpyxl+load_workbook+AttributeError:“NoneType”对象没有属性“date1904”

2024-04-01

当我使用 openpyxl 加载 Excel 文件(.xlsx)时,显示此错误(最后一个链接是示例 Excel 文件):

从 openpyxl 导入 * wb = load_workbook("D:/develop/workspace/exman/测试样本/510001653.xlsx")

回溯(最近一次调用最后一次):

文件“”,第 1 行,位于

文件“C:\ Python34 \ lib \ site-packages \ openpyxl-2.5.0-py3.4.egg \ openpyxl \ reader \ xcel.py”,第 161 行,在 load_workbook 中

解析器.parse()

文件“C:\Python34\lib\site-packages\openpyxl-2.5.0-py3.4.egg\openpyxl\packaging\workbook.py”,第 42 行,解析中

如果package.properties.date1904:

AttributeError:“NoneType”对象没有属性“date1904”

示例 Excel 文件下载 https://docs.google.com/spreadsheets/d/1HBb4b2jCcZ0Nm8Yp29Hzl6R4jRBFW3sCHMSsKTtib9c/edit?usp=sharing


我调试python文件,发现workbookPr = None,导致package.properties为None(properties = Alias(workbookPr)。所以我像下面一样更改workbookParser.parser()的代码,错误解决了。

class WorkbookParser:

def __init__(self, archive):
    self.archive = archive
    self.wb = Workbook()
    self.sheets = []
    self.rels = get_dependents(self.archive, ARC_WORKBOOK_RELS)


def parse(self):
    src = self.archive.read(ARC_WORKBOOK)
    node = fromstring(src)
    package = WorkbookPackage.from_tree(node)

    if package.properties is not None: #add this line 
        if package.properties.date1904:
            wb.excel_base_date = CALENDAR_MAC_1904
        self.wb.code_name = package.properties.codeName
   self.wb.active = package.active

…………

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

openpyxl+load_workbook+AttributeError:“NoneType”对象没有属性“date1904” 的相关文章

随机推荐