You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用openpyxl加载Excel文件时触发TypeError错误的排查求助

openpyxl加载Excel文件时触发TypeError错误的排查求助

各位大佬好,我用Python的openpyxl加载Excel文件时遇到了一个棘手的TypeError问题,现在完全卡壳没法继续处理数据了,想请教下大家这个错误的原因是什么,以及怎么解决。

问题背景

我本来计划导入两个Excel文件(통합 문서1.xlsxbooklist.xlsx)并使用里面的数据,已经确认两个文件的工作表名称输入完全正确,但加载booklist.xlsx的时候直接抛出了错误,导致后续操作无法进行。

我的代码片段

import openpyxl as xl

# 加载两个Excel文件
user_data = xl.load_workbook(filename="통합 문서1.xlsx", data_only=True)
book_data = xl.load_workbook(filename="booklist.xlsx", data_only=True)

# 获取指定工作表
load_bl = book_data["sheet 1"]
load_ws = user_data["Sheet1"]

# 打印单元格内容
print(load_ws.cell(1, 1).value)
print(load_bl.cell(3, 4).value)

错误追踪信息

Traceback (most recent call last):
  File "c:\Users\W10P\Desktop\Folder 1\Privacy\Privacy\library.py", line 173, in <module>
    book_data = xl.load_workbook(filename="booklist.xlsx", data_only=True)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\W10P\AppData\Local\Programs\Python\Python311\Lib\site-packages\openpyxl\reader\excel.py", line 346, in load_workbook
    reader.read()
  File "C:\Users\W10P\AppData\Local\Programs\Python\Python311\Lib\site-packages\openpyxl\reader\excel.py", line 295, in read
    self.read_custom()
  File "C:\Users\W10P\AppData\Local\Programs\Python\Python311\Lib\site-packages\openpyxl\reader\excel.py", line 182, in read_custom
    self.wb.custom_doc_props = CustomPropertyList.from_tree(src)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\W10P\AppData\Local\Programs\Python\Python311\Lib\site-packages\openpyxl\packaging\custom.py", line 220, in from_tree
    new_prop = typ(name=prop.name, value=value)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\W10P\AppData\Local\Programs\Python\Python311\Lib\site-packages\openpyxl\packaging\custom.py", line 136, in __init__
    self.name = name
                ^^^^^^^
  File "C:\Users\W10P\AppData\Local\Programs\Python\Python311\Lib\site-packages\openpyxl\descriptors\base.py", line 46, in __set__
    raise TypeError(msg)
TypeError: <class 'openpyxl.packaging.custom.StringProperty'>.name should be <class 'str'> but value is <class 'NoneType'>

补充信息

我检查过booklist.xlsx的内容,第一行及后续所有行的格式都没有异常(原本应该附截图说明,这里暂时用文字描述)。

实在搞不明白为什么会触发这个类型错误,有没有大佬能帮忙分析下原因或者给出可行的解决方法?万分感谢!

备注:内容来源于stack exchange,提问作者khr-19-in-sof

火山引擎 最新活动