Python使用openpyxl加载同目录Excel文件提示无此文件或目录如何解决?
问题根因
Python解析相对路径时参考的是运行脚本时终端的当前工作目录,而非Python脚本本身的存储目录。从报错末尾的PS C:\Users\Name>可以看出,你运行脚本时终端工作目录为C盘用户根目录,并非脚本和Excel文件所在的Desktop\Python Projects\Excel Manipulation目录,相对路径Test2.xlsx会被解析为C:\Users\Name\Test2.xlsx,自然找不到对应文件。
验证方法
在你的脚本最开头添加以下代码运行,确认当前工作目录是否为Excel文件的存放目录:
import os print(os.getcwd())
解决方案
方案1:切换终端工作目录后运行脚本
执行脚本前先在终端执行cd命令跳转到脚本所在目录,再运行脚本即可:
cd "C:\Users\Name\Desktop\Python Projects\Excel Manipulation" python Excel_Test.py
方案2:代码动态拼接绝对路径(推荐)
修改代码自动获取脚本所在目录,拼接Excel文件的绝对路径,不受终端工作目录影响:
from openpyxl import Workbook, load_workbook import os # 获取当前脚本所在目录的绝对路径 script_dir = os.path.dirname(os.path.abspath(__file__)) # 拼接目标Excel文件的绝对路径 excel_path = os.path.join(script_dir, "Test2.xlsx") workbook = load_workbook(excel_path)
其他排查点
- 检查Windows是否隐藏了文件扩展名:你看到的
Test2.xlsx可能实际名称为Test2.xlsx.xlsx,打开文件管理器顶部「查看」选项卡,勾选「文件扩展名」后确认文件名正确。 - 确认Excel文件确实和脚本存储在同一目录,没有放入子文件夹中。
内容的提问来源于stack exchange,提问作者TheShin
相关产品推荐
相关产品推荐

