拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Data-Science-For-Beginners 用 pd.read_csv 读取 CSV 报错怎么排查?

Data-Science-For-Beginners 用 pd.read_csv 读取 CSV 报错怎么排查【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners在 Data-Science-For-Beginners 课程的 Jupyter Notebook 或 Python 脚本里执行pd.read_csv(...)读 CSV 时报错是这门课练习中常见的一类问题。本项目的 TROUBLESHOOTING.md 在 Data and File Issues 一节针对读数据报错给出了三类处理手段文件找不到FileNotFoundError、CSV 读取报错、大文件内存报错MemoryError此外 Package and Dependency Issues 一节还覆盖了pandas未安装导致的ModuleNotFoundError。本文按这几种报错把文档里的排查步骤串成一条可执行的路径。前提条件来自 INSTALLATION.md 与 TROUBLESHOOTING.mdPython 3.7 或更高版本pandas 已安装建议安装在虚拟环境venv中要读取的数据文件在仓库的data/目录下例如data/birds.csv、data/form.csv。先确认不是 pandas 没装对如果报错是ModuleNotFoundError: No module named pandas问题还不在于 CSV 本身。TROUBLESHOOTING.md 给出的处理方式是先确认虚拟环境已激活再安装缺失的包最后用一条命令验证安装# 激活虚拟环境 source venv/bin/activate # macOS/Linux venv\Scripts\activate # Windows # 安装缺失的包 pip install pandas # 验证安装 python -c import pandas; print(pandas.__version__)验证成功的判断标准就是这条命令能打印出 pandas 版本号。如果装 pandas 时遇到权限或 SSL 报错同一文档还给出了pip install --user、pip install --upgrade pip等对应处理可按需对照。FileNotFoundError路径写法与 Notebook 位置不匹配文件找不到是最常见的读取报错。TROUBLESHOOTING.md 给出的排查代码是先打印当前工作目录再改用绝对路径或相对路径并确认文件存在import os # 检查当前工作目录 print(os.getcwd()) # 使用绝对路径 data_path os.path.join(os.getcwd(), data, filename.csv) df pd.read_csv(data_path) # 或者使用相对 notebook 位置的相对路径 df pd.read_csv(../data/filename.csv) # 验证文件是否存在 print(os.path.exists(data/filename.csv))其中filename.csv是文档中的占位写法需要替换成你要读取的实际文件名。这里的关键是路径的参照点相对路径是相对Notebook/脚本所在位置而不是终端所在目录。仓库里的练习都是这个模式例如 examples/02_loading_data.py 里写的是pd.read_csv(../data/birds.csv)脚本位于examples/目录所以向上一级再进data/08-data-preparation 的 assignment 读取的是data/form.csv。如果os.path.exists(...)打印False说明路径指向的位置没有这个文件需要按上面的两种写法之一修正。CSV 能打开但读取报错编码、分隔符与缺失值对于 TROUBLESHOOTING.md 归为 CSV Reading Errors读取 CSV 文件时出错的情况文档没有给出报错信息 → 原因的一一对照而是提供了三类读取参数供逐一尝试import pandas as pd # 尝试不同的编码 df pd.read_csv(file.csv, encodingutf-8) # 或 df pd.read_csv(file.csv, encodinglatin-1) # 或 df pd.read_csv(file.csv, encodingISO-8859-1) # 处理缺失值 df pd.read_csv(file.csv, na_values[NA, N/A, ]) # 分隔符不是逗号时指定分隔符 df pd.read_csv(file.csv, delimiter;)file.csv同样是文档占位写法替换为你的实际文件。三种手段各有针对对象encoding用于换编码读文件na_values用于把NA、N/A、空串识别为缺失值delimiter用于文件其实不是以逗号分隔的场景。课程练习中也有非逗号分隔的真实例子04-stats-and-probability 的 notebook 读取 TSV 文件时用的是df pd.read_csv(../../data/SOCR_MLB.tsv, sep\t, headerNone, names[Name,Team,Role,Weight,Height,Age])即.tsv这类文件需要显式传sep\t。另外 07-python 的 notebook-papers.ipynb 展示了对压缩 CSV 直接读取的写法pd.read_csv(...metadata.csv.zip, compressionzip)当你下载到的数据本身就是.zip包时可按文档中的方式处理。大文件报 MemoryError分块、只读部分列、指定类型TROUBLESHOOTING.md 把MemoryError单列为 Memory Errors with Large Datasets给出的三种手段是# 分块读取 chunk_size 10000 chunks [] for chunk in pd.read_csv(large_file.csv, chunksizechunk_size): # 处理每个 chunk chunks.append(chunk) df pd.concat(chunks) # 只读取需要的列col1、col2 需替换为文件中的实际列名 df pd.read_csv(file.csv, usecols[col1, col2]) # 使用更高效的数据类型column_name 需替换为实际列名 df pd.read_csv(file.csv, dtype{column_name: int32})large_file.csv、col1、col2、column_name均为文档中的占位写法使用前要替换成真实文件名与列名列名可以先看文件首行确认。三种手段分别对应文件大到必须分批处理时用chunksize只需要其中几列时用usecols某些列可以降级为int32等更小类型时用dtype。验证读取结果读取成功后按 examples/02_loading_data.py 的做法做一次快速检查确认数据结构和内容符合预期data pd.read_csv(../data/birds.csv) print(data.shape) # 行数 × 列数 print(data.head()) # 前 5 行预览 print(data.info()) # 各列类型与非空值数量data.shape、data.head()、data.info()是该脚本给出的标准检查项如果info()里某列的类型明显不对比如本该是数字的列变成了 object通常回到上一节检查dtype、delimiter或na_values的设置。排查仍无进展时如何求助TROUBLESHOOTING.md 的 How to Ask for Help 一节要求提交 issue 时附带上这些信息操作系统及发行版、Python 版本python --version的输出、完整的错误信息、复现步骤、以及已经尝试过的方案。文档同时指出求助前应先看这份排查文档再参考 INSTALLATION.md 和 USAGE.md。本项目的 TROUBLESHOOTING.md 对pd.read_csv报错覆盖的就是上述四类pandas 未安装、路径问题、CSV 内容问题编码/分隔符/缺失值、内存问题。文档没有给出针对具体报错文本的逐一判定流程所以实操时建议按先确认依赖 → 再确认路径与文件存在 → 再调读取参数的顺序逐项排除每一步都以文档给出的验证命令python -c import pandas; ...、os.path.exists(...)、data.head()作为是否继续往下走的判断依据。【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门