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

Jupyter中pd.read_csv读取CSV遇FileNotFoundError问题求助

问题解答

路径一致性判断

你的../file_path/file_name.csv与os.path.abspath('file_name.csv')输出的路径完全不一致:

  • ../file_path/file_name.csv是相对路径,指向「当前工作目录的上一级目录下的file_path文件夹中的目标文件」
  • os.path.abspath('file_name.csv')输出的是「当前工作目录下file_name.csv的绝对路径」,从你的输出可知,当前工作目录为/YXRwLW5vdGVib29rLW5pbmd1eWVuLXNlc3Npb24teGJ1YQ==/file_path/,该路径直接指向当前目录下的文件

两者的查找逻辑完全不同,自然会出现文件找不到的错误。

故障排查与解决建议

1. 确认当前工作目录

执行以下代码,直接获取Jupyter Notebook的当前工作路径:

import os
print(os.getcwd())

这比os.path.abspath()更准确——后者即使目标文件不存在,也会基于当前目录生成路径,无法反映真实的工作目录。

2. 验证文件实际位置

既然直接用pd.read_csv('file_name.csv')能成功读取,说明目标文件就在当前工作目录中。你写的../file_path/file_name.csv是向上一级目录查找file_path文件夹,自然找不到当前目录下的文件。

3. 修正路径方案

如果你倾向于使用明确路径,推荐两种方式:

  • 绝对路径:直接复制os.path.abspath('file_name.csv')输出的完整路径:
    df_csv = pd.read_csv('/YXRwLW5vdGVib29rLW5pbmd1eWVuLXNlc3Npb24teGJ1YQ==/file_path/file_name.csv', low_memory=False)
    
  • 动态拼接相对路径:用os.path.join()拼接路径,避免手动拼写错误,同时保证路径兼容性:
    import os
    current_dir = os.getcwd()
    target_file = os.path.join(current_dir, 'file_name.csv')
    df_csv = pd.read_csv(target_file, low_memory=False)
    

4. 基础检查

  • 确认路径/文件名的大小写、空格(若有空格需用引号包裹或转义)、后缀(如.csv是否写成.CSV)完全正确
  • 若文件确实在上级目录的file_path中,先通过os.listdir(os.path.join(os.getcwd(), '..'))查看上级目录是否存在file_path文件夹

关于直接使用文件名的疑问

直接用文件名的相对路径是安全的,只要你能保证文件与Notebook的相对位置不变,且Jupyter的工作目录不会被手动修改。如果追求更高的稳定性,使用上述动态拼接路径或绝对路径的方式即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 04:45:58