如何在Mac端Jupyter Notebook中用Python读取Data文件夹内的CSV文件
Mac环境下Jupyter Notebook读取项目内Data文件夹CSV的实操方案
首先明确核心前提:Jupyter Notebook的默认工作路径是你启动Notebook服务时所在的终端目录,和你当前打开的.ipynb分析文件本身的存储位置没有直接绑定关系,这是绝大多数路径读取报错的根源。
推荐方法1:基于项目根目录的相对路径配置(零依赖,适配常规项目结构)
- 操作逻辑:打开Mac终端,先通过
cd命令切换到你的项目根目录(也就是同时存放Data文件夹、所有分析Notebook的总目录),再输入jupyter notebook启动服务。 - 代码写法:
import pandas as pd # Mac路径统一用正斜杠/做分隔符,不要用Windows的反斜杠 df = pd.read_csv("Data/目标CSV文件名.csv") - 特殊场景适配:如果你的分析Notebook单独放在项目的子文件夹下(比如所有Notebook存在
analyses/子目录,Data在项目根目录),相对路径需要向上跳转一层:df = pd.read_csv("../Data/目标CSV文件名.csv") - 注意:Mac的文件系统默认区分路径大小写,如果你实际文件夹名是小写的
data,代码里写Data会直接触发文件不存在的错误,必须和实际文件夹名的大小写完全匹配
推荐方法2:自动定位路径(完全规避启动目录不对的问题,适配嵌套目录结构)
- 操作逻辑:用Python内置的
pathlib库自动识别当前运行环境的路径位置,不需要手动记目录层级,哪怕你从任意路径启动Jupyter也能准确找到Data文件夹。 - 代码写法:
from pathlib import Path import pandas as pd # 获取当前Notebook运行的根路径 current_root = Path.cwd() # 自动拼接Data文件夹的完整路径,不需要手动修改层级 data_folder = current_root.parent / "Data" # 读取指定CSV文件 df = pd.read_csv(data_folder / "目标CSV文件名.csv") - 这个方法不需要硬编码绝对路径,后续项目文件夹整体迁移、换设备运行的时候也不会出现路径失效的问题
可选方法:将项目根目录加入Python搜索路径(适配多层嵌套的复杂项目结构)
- 操作逻辑:如果你的项目目录层级比较深,Data文件夹和Notebook隔了多层子目录,可以把项目根目录添加到Python的系统搜索路径中,之后直接按根目录的相对路径读取文件即可。
- 代码写法:
import sys from pathlib import Path import pandas as pd # 逐层定位到项目的最外层根目录,根据实际嵌套层数调整.parent的数量 project_root = Path.cwd().parent.parent # 将项目根目录添加到Python的可搜索路径列表 sys.path.append(str(project_root)) # 直接按相对根目录的路径读取文件 df = pd.read_csv("Data/目标CSV文件名.csv")
常见踩坑提示:
- 不要硬编码用户级绝对路径(比如写
/Users/你的用户名/Projects/xxx/Data/xxx.csv),一旦更换电脑、修改用户名、调整项目存储位置,就会直接出现读取失效- 如果读取时提示编码错误,可以在
read_csv函数里加编码参数,比如pd.read_csv(路径, encoding="utf-8")或encoding="gbk"
内容的提问来源于stack exchange,提问作者Kathryn Lindsey
相关产品推荐
相关产品推荐

