load_workbook(writer.path) 的writer.path 为None的问题

先上代码:

daily_report_ path = r'C:\Users\Administrator.x1cleo\Desktop\日工作成果\监控日报'
monitor = f'{last_two_day} SAP传输及订单监控日报.xlsx'
last_day_report = daily_report_path + '/' + monitor
book = pd.ExcelFile(monitor)
sheets = book.sheet_names
writer = pd.ExcelWriter(monitor)
writer_book = openpyxl.load_workbook(writer.path)

执行到writer_book = openpyxl.load_workbook(writer.path)直接报错,报错为:

Traceback (most recent call last):
File "C:/Users/Administrator/Desktop/日数据源/try.py", line 26, in
writer_book = openpyxl.load_workbook(writer.path)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\openpyxl\reader\excel.py", line 315, in load_workbook
reader = ExcelReader(filename, read_only, keep_vba,
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\openpyxl\reader\excel.py", line 124, in init
self.archive = _validate_archive(fn)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\openpyxl\reader\excel.py", line 78, in _validate_archive
file_format = os.path.splitext(filename)[-1].lower()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\ntpath.py", line 204, in splitext
p = os.fspath(p)
TypeError: expected str, bytes or os.PathLike object, not NoneType

这个报错应该是指我的writer的路径为空,但我已经定义了路径,我试过绝对路径和相对路径,都不行,另外执行完这段代码,路径中的文件被损坏。

问题可能是在用load_workbook导入工作薄,是在已有的文件上操作,而在文件路径下就没有这个文件,所以读取到的为None而报错,要新建工作薄用wb = Workbook()。参考 Python模块学习 - openpyxl - Dahlhin - 博客园 openpyxl模块介绍 openpyxl模块是一个读写Excel 2010文档的Python库,如果要处理更早格式的Excel文档,需要用到额外的库,openpyxl是一个比较综合的工具,能够同时读 https://www.cnblogs.com/dachenzi/p/8488460.html

拼接文件路径问题? 可以使用os.path.join 试试