Python 使用openpyxl.load_工作簿()函数时出现错误消息

Python 使用openpyxl.load_工作簿()函数时出现错误消息,python,excel,Python,Excel,我刚刚开始学习编程,目前正在尝试从空闲状态读取excel文件。我遵循《自动化无聊的东西》一书的指导。我已成功导入openpyxl,此后,按照指示,我尝试了将“example”替换为工作簿的实际名称。但是,我收到以下错误消息: Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/openpyxl/reader/

我刚刚开始学习编程,目前正在尝试从空闲状态读取excel文件。我遵循《自动化无聊的东西》一书的指导。我已成功导入openpyxl,此后,按照指示,我尝试了将“example”替换为工作簿的实际名称。但是,我收到以下错误消息:

Traceback (most recent call last):   File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/openpyxl/reader/excel.py", line 117, in load_workbook
    archive = ZipFile(filename, 'r', ZIP_DEFLATED)   File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/zipfile.py", line 1216, in __init__
    self.fp = io.open(file, filemode) FileNotFoundError: [Errno 2] No such file or directory: 'jan.xlsx'
在处理上述异常期间,发生了另一个异常:

Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    wb = openpyxl.load_workbook('jan.xlsx')
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/openpyxl/reader/excel.py", line 145, in load_workbook
    raise InvalidFileException(unicode(e))
openpyxl.exceptions.InvalidFileException: [Errno 2] No such file or directory: 'jan.xlsx' 
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
wb=openpyxl.load_工作簿('jan.xlsx')
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site packages/openpyxl/reader/excel.py”,第145行,在load_工作簿中
引发InvalidFileException(unicode(e))
openpyxl.exceptions.InvalidFileException:[Errno 2]没有这样的文件或目录:“jan.xlsx”

我不明白如何解决这个问题。

这个错误消息只是说python找不到该文件。当您试图打开文件“jan.xlsx”时,它试图在IDE中代码的基本目录中找到它。假设您的代码位于名为/Users/username/PycharmProjects/myCode的目录中 (我假设您在Mac OS上,正如python的路径所示

但是jan.xlsx在/Users/username中

由于这是代码目录的2个目录,因此您可以执行以下两项操作之一:

  • 写入文件的绝对路径:
  • 使用相对于基本项目目录的相对路径。相对路径中的两个点表示距离当前目录高一级。因此,如果excel文件高两级,则可以执行以下操作:

  • 你能添加你的代码吗?jan.xlsx在工作目录中吗?我想文件的路径可能是错误的。@GiovaniSalazar这就是我写的所有代码。我只是想测试一下“自动化无聊的东西”中的指令工作正常。我有点做错了。我仍然不理解这个问题。如果您想让我完全使用您在那里写的内容,“wb=openpyxl.load_工作簿('/Users/username/jan.xlsx')”这不管用。或者也许我应该在那里改变一些事情,就像我说的,我是如此的新,以至于我知道我在这里对你们大多数人来说可能看起来很愚蠢,对此我很抱歉,但说真的,我不知道该怎么办。@Alicepeterson不用担心,我们都从一开始。如果你真的在Mac上(这在不同的操作系统上差异很大),然后尝试以下操作:获取jan.xlsx的完整路径。Apple使获取完整路径变得非常困难。但是尝试一下……在Finder窗口中,右键单击jan.xlsx。然后在仍处于该菜单中的同时,按住OPTION按钮,然后选择“将jan.xlsx复制为路径名”。然后进入您的代码,并将其粘贴到调用load_Workbook时的单引号中。我最终修复了它,感谢一位朋友。感谢您投入时间和精力帮助我。
    wb = openpyxl.load_workbook('/Users/username/jan.xlsx')
    
    wb = openpyxl.load_workbook('../../jan.xlsx')