You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode中pd.read_excel在ipynb可用但py文件报错的原因咨询

问题原因及解决办法

核心原因就是运行代码时的工作目录不一样:

  • Jupyter Notebook启动时,默认把你打开notebook的文件夹设为工作目录,刚好就是.ipynb和Excel文件所在的目录,所以直接写文件名能找到文件。
  • 运行.py脚本时,工作目录是你打开终端/命令行时所在的目录,不是.py文件本身的目录。比如你在电脑桌面打开命令行,然后输入python 文档/我的脚本.py,此时工作目录是桌面,脚本里找Physical properties.xlsx就会去桌面找,自然找不到同目录的文件。

验证方法

在.ipynb和.py文件里都加上这两行代码,运行后对比输出的路径,就能直观看到差异:

import os
print(os.getcwd())

除了绝对路径的解决办法

  1. 先切目录再运行脚本:打开终端后,先用cd命令切换到.py文件所在的文件夹,再运行python 脚本文件名.py。
  2. 脚本内动态获取路径:在代码里自动获取脚本所在目录,再拼接Excel路径,这样不管在哪运行都能找到文件:
import os
import pandas as pd

# 获取当前脚本的绝对目录
script_folder = os.path.dirname(os.path.abspath(__file__))
# 拼接Excel文件的完整路径
excel_file = os.path.join(script_folder, 'Physical properties.xlsx')
data = pd.read_excel(excel_file, index_col=1, header=3)

内容的提问来源于stack exchange,提问作者Hexadox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 20:03:18