外汇量化__炼丹房 2021-12-04 21:38 采纳率: 0%
浏览 425

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

问题遇到的现象和发生背景

通过openpyxy 导入excel的时候,load_workbook对writer的path读取结果为None,从而无法读入相应表格。
Anaconda 4.11.0 内的Jupyter Lab 3.2.1

问题相关代码,请勿粘贴截图

import pandas as pd
import openpyxl

writer=pd.ExcelWriter('previous days swap curve.xlsx',engine='openpyxl')
book_with_formula=openpyxl.load_workbook('previous days swap curve.xlsx',data_only=False)

运行结果及报错内容

TypeError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_12940/738188215.py in
4
5 writer=pd.ExcelWriter('previous days swap curve.xlsx',engine='openpyxl')
----> 6 book_with_formula=openpyxl.load_workbook(writer.path,data_only=False)

F:\Anaconda\lib\site-packages\openpyxl\reader\excel.py in load_workbook(filename, read_only, keep_vba, data_only, keep_links)
314
315 reader = ExcelReader(filename, read_only, keep_vba,
--> 316 data_only, keep_links)
317 reader.read()
318 return reader.wb

F:\Anaconda\lib\site-packages\openpyxl\reader\excel.py in init(self, fn, read_only, keep_vba, data_only, keep_links)
122 definit(self, fn, read_only=False, keep_vba=KEEP_VBA,
123 data_only=False, keep_links=True):
--> 124 self.archive = _validate_archive(fn)
125 self.valid_files = self.archive.namelist()
126 self.read_only = read_only

F:\Anaconda\lib\site-packages\openpyxl\reader\excel.py in _validate_archive(filename)
76 is_file_like = hasattr(filename, 'read')
77 if not is_file_like:
---> 78 file_format = os.path.splitext(filename)[-1].lower()
79 if file_format not in SUPPORTED_FORMATS:
80 if file_format == '.xls':

F:\Anaconda\lib\ntpath.py in splitext(p)
200
201 def splitext(p):
--> 202 p = os.fspath(p)
203 if isinstance(p, bytes):
204 return genericpath._splitext(p, b'', b'/', b'.')

TypeError: expected str, bytes or os.PathLike object, not NoneType

我的解答思路和尝试过的方法

这个报错提示writer的路径为空,我print out 该writer确实也是空。
我随后尝试绝对路径和相对路径,还是不行。我还尝试把openpyxl的版本升级至最新版本以及降级至3.0.1,问题依然无法解决。
且每次执行完这段代码,路径中的文件都会被损坏。
这个问题我在CSDN看过类似的情况,看完解答后依然没有头绪。请各位专家帮忙看看,谢谢。

我想要达到的结果

能正常读取含公式及多个工作表的excel表。

  • 写回答

2条回答 默认 最新

  • CSDN专家-黄老师 2021-12-04 22:53
    关注

    TypeError: expected str, bytes or os.PathLike object, not NoneType这个报错是出现空值了,你看看在那一行代码。这行代码有个变量为空值

    评论

报告相同问题?

问题事件

  • 创建了问题 12月4日

悬赏问题

  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!