使用openpyxl加载Excel文件时触发TypeError错误的排查求助
openpyxl加载Excel文件时触发TypeError错误的排查求助
各位大佬好,我用Python的openpyxl加载Excel文件时遇到了一个棘手的TypeError问题,现在完全卡壳没法继续处理数据了,想请教下大家这个错误的原因是什么,以及怎么解决。
问题背景
我本来计划导入两个Excel文件(통합 문서1.xlsx和booklist.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




