VS Code中.ipynb转.py脚本运行失败:咖啡销售数据处理报错
解决Python脚本读取Excel文件路径报错问题
问题本质
报错[Errno 2]No such file or directory的核心原因有两个:
- Windows路径里的反斜杠
\是Python的转义字符,直接写入会被解析成特殊符号,导致路径识别错误 - Jupyter默认以自身文件所在目录为工作目录,但Python脚本运行时的工作目录是终端/命令行的当前路径,未必和文件所在目录一致
具体修复方案
方案1:修复路径转义问题
把路径改成以下任意一种格式即可:
- 用双反斜杠
\\替代单反斜杠:
import pandas as pd # 读取文件 df = pd.read_excel("D:\\Admin Files\\Desktop\\DataS Proj\\Pproj_Coffee\\updated_coffee_sales_data.xlsx") # 数据清洗逻辑... # 导出文件 df.to_excel("D:\\Admin Files\\Desktop\\DataS Proj\\Pproj_Coffee\\cleaned_coffee_data.xlsx", index=False)
- 在路径前加
r声明为原始字符串:
import pandas as pd # 读取文件 df = pd.read_excel(r"D:\Admin Files\Desktop\DataS Proj\Pproj_Coffee\updated_coffee_sales_data.xlsx") # 数据清洗逻辑... # 导出文件 df.to_excel(r"D:\Admin Files\Desktop\DataS Proj\Pproj_Coffee\cleaned_coffee_data.xlsx", index=False)
- 用正斜杠
/代替反斜杠:
import pandas as pd # 读取文件 df = pd.read_excel("D:/Admin Files/Desktop/DataS Proj/Pproj_Coffee/updated_coffee_sales_data.xlsx") # 数据清洗逻辑... # 导出文件 df.to_excel("D:/Admin Files/Desktop/DataS Proj/Pproj_Coffee/cleaned_coffee_data.xlsx", index=False)
方案2:基于脚本目录自动拼接路径(推荐)
不用写死绝对路径,让脚本自动识别自身所在目录,避免工作目录差异问题:
import pandas as pd import os # 获取脚本所在的绝对目录 script_dir = os.path.dirname(os.path.abspath(__file__)) # 拼接输入文件路径 input_path = os.path.join(script_dir, "updated_coffee_sales_data.xlsx") # 读取文件 df = pd.read_excel(input_path) # 数据清洗逻辑... # 拼接输出文件路径 output_path = os.path.join(script_dir, "cleaned_coffee_data.xlsx") # 导出文件 df.to_excel(output_path, index=False)
方案3:手动切换工作目录
在脚本开头直接切换到文件所在目录,之后可以直接用文件名操作:
import pandas as pd import os # 切换到目标目录 os.chdir("D:\\Admin Files\\Desktop\\DataS Proj\\Pproj_Coffee") # 读取文件 df = pd.read_excel("updated_coffee_sales_data.xlsx") # 数据清洗逻辑... # 导出文件 df.to_excel("cleaned_coffee_data.xlsx", index=False)
验证要点
- 确认
updated_coffee_sales_data.xlsx确实存在于D:\Admin Files\Desktop\DataS Proj\Pproj_Coffee目录下 - 运行脚本前,可通过终端的
cd命令查看当前工作目录,若和文件目录不符,优先用方案1或方案2
内容的提问来源于stack exchange,提问作者Mr Jxtr
相关产品推荐
相关产品推荐

