使用pd.read_csv读取Data.csv报FileNotFoundError该如何处理?
pd.read_csv 默认路径说明及文件找不到问题解决方案
1 默认读取路径规则
pd.read_csv() 传入相对路径时,默认查找路径是当前Python运行环境的工作目录,逻辑和你熟悉的Node.js读取本地文件的相对路径规则一致:
- 如果是直接运行
.py脚本,默认路径为脚本所在的文件夹 - 如果是在Jupyter系列工具中运行代码,默认路径为当前
.ipynbnotebook文件所在的文件夹
你可以运行以下代码打印当前工作目录,确认pandas查找文件的实际位置:
import os print(os.getcwd())
打印出的路径就是pandas默认查找Data.csv的位置。
2 解决方案
你可以根据自己的使用场景选择以下任意一种方法解决问题:
- 方法一:移动文件到默认工作目录
把你本地存储的Data.csv文件直接放到上面打印出的工作目录中,原有代码dataset = pd.read_csv('Data.csv')无需修改即可正常运行,适合小型临时项目使用。 - 方法二:传入文件的绝对路径
直接写清楚Data.csv在你本地的完整路径即可,不需要关注当前工作目录:- Windows系统示例:
dataset = pd.read_csv('D:/my_project/data/Data.csv')(路径用正斜杠/,或者用双反斜杠\避免转义问题) - Mac/Linux系统示例:
dataset = pd.read_csv('/Users/yourname/project/data/Data.csv')
适合文件存储位置固定的场景,不会因为工作目录变动出现找不到文件的问题。
- Windows系统示例:
- 方法三:手动切换工作目录
如果你需要批量读取同一个文件夹下的多个文件,可以先把工作目录切换到文件存储的文件夹,后续直接写文件名即可:
import os # 路径替换为你存储Data.csv的文件夹路径 os.chdir('D:/my_project/data/') dataset = pd.read_csv('Data.csv')
注意事项
需要注意文件名大小写匹配问题,Mac和Linux系统对文件名大小写敏感,如果你本地文件实际名为data.csv或者DATA.CSV,和代码中写的Data.csv不一致也会触发该报错。
内容的提问来源于stack exchange,提问作者Bradley Thomas
相关产品推荐
相关产品推荐

