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

在Colab中从文件夹运行Jupyter Notebook时,导入文件后无法访问CSV文件的解决办法

在Colab中从文件夹运行Jupyter Notebook时,导入文件后无法访问CSV文件的解决办法

嘿,这个问题其实挺常见的,核心原因是相对路径的工作机制在Colab里容易踩坑。你已经通过sys.path.append把文件夹加到了Python的搜索路径里,所以能成功导入.py文件,但那些导入的文件里用的相对路径,并不是相对于它们自己所在的文件夹,而是相对于当前Notebook的工作目录(Colab默认是/content),所以自然找不到你的CSV文件啦。

给你几个实用的解决办法,按需选就行:

  • 直接用绝对路径访问CSV:最简单粗暴的方式,在需要读取CSV的.py文件里,直接写CSV的完整路径,比如:

    import pandas as pd
    df = pd.read_csv('/content/drive/MyDrive/[my folder]/your_file.csv')
    

    这种方式不用改其他设置,只要路径写对就没问题,缺点是如果文件夹位置变了,得手动改路径。

  • 动态获取文件所在路径(推荐):如果不想硬编码路径,可以在那个需要访问CSV的.py文件里,先获取自身所在的文件夹,再拼接CSV的文件名,这样不管文件夹移到哪都能用:

    import os
    import pandas as pd
    
    # 获取当前.py文件的绝对路径
    current_file_path = os.path.abspath(__file__)
    # 获取文件所在的文件夹
    current_folder = os.path.dirname(current_file_path)
    # 拼接CSV文件的路径
    csv_file_path = os.path.join(current_folder, 'your_file.csv')
    
    # 读取CSV
    df = pd.read_csv(csv_file_path)
    
  • 切换Notebook的工作目录到目标文件夹:在Notebook的开头先切换工作目录到你的文件夹,这样所有相对路径都会基于这个文件夹来查找,不管是Notebook里的代码还是导入的.py文件里的相对路径都能正常工作:

    import os
    # 切换到你的文件夹
    os.chdir('/content/drive/MyDrive/[my folder]')
    

    注意:切换工作目录后,你在Notebook里的其他相对路径也会基于这个文件夹,所以要确保其他操作的路径也适配。

最后再检查两个小细节:

  1. 确认你的Google Drive已经在Colab里挂载成功了(如果用的是Drive里的文件夹),挂载代码是:
    from google.colab import drive
    drive.mount('/content/drive')
    
  2. 核对CSV文件的文件名和路径拼写,别出现大小写错误或者少打了文件夹名的情况,Colab里路径是区分大小写的哦。

备注:内容来源于stack exchange,提问作者Daniel Mendoza

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 16:29:48