为什么Jupyter无法读取存放在子文件夹中的CSV文件?
问题原因
- 核心原因:你调用
pd.read_csv("state.csv")时传入的是相对路径,Python会默认在Jupyter Notebook的当前工作目录下查找目标文件。你之前将文件放在C:\Users\argir\路径下可以正常读取,说明你的Jupyter默认工作目录就是C:\Users\argir\;当你把文件移动到子文件夹或者桌面其他目录后,文件已经不在当前工作目录范围内,因此会抛出FileNotFoundError报错。 - 潜在触发因素:你提到的第三个路径包含希腊语字符
Υπολογιστής(系统默认的桌面文件夹希腊语名称),如果你的Python环境编码配置不匹配,也可能导致路径识别失败,触发找不到文件的报错。
解决方案
你可以任选以下任意一种方法解决问题:
- 直接传入文件完整绝对路径
Windows下的路径反斜杠需要注意转义问题,建议要么改用正斜杠,要么给路径加r前缀声明为原生字符串,示例代码如下:
import pandas as pd # 写法1:使用正斜杠替代反斜杠 state_data = pd.read_csv("C:/Users/argir/datasets_dika_mou/state.csv") # 写法2:使用r前缀声明原生字符串,避免转义 state_data = pd.read_csv(r"C:\Users\argir\datasets_dika_mou\state.csv")
- 先切换Jupyter工作目录到文件所在文件夹
可以通过os模块先修改当前运行的工作目录,再直接传入文件名读取:
import os import pandas as pd # 切换工作目录到文件所在路径 os.chdir(r"C:\Users\argir\datasets_dika_mou") # 此时可以直接读取文件名 state_data = pd.read_csv("state.csv")
- 如果文件在当前工作目录的子文件夹下,也可以传入相对子路径读取:
# 对应文件在当前工作目录的datasets_dika_mou子文件夹下的场景 state_data = pd.read_csv("./datasets_dika_mou/state.csv")
内容的提问来源于stack exchange,提问作者ArgyGr
相关产品推荐
相关产品推荐

