在Jupyter中导入D盘CSV文件需注意路径(用r前缀或双反斜杠)、编码(如gbk或utf-8-sig)和分隔符(如sep=' '),三者不匹配是报错主因;推荐先上传文件至当前工作目录再用相对路径读取。

直接能导入,但路径、编码、分隔符这三处最容易卡住——不是代码写错,而是环境没对齐。
文件得先在Jupyter当前工作目录里
你不能直接写 D:datasales.csv 就运行成功。Jupyter只认它启动时所在目录下的相对路径,比如 sales.csv 或 data/sales.csv。
- 最稳妥的做法:点 Jupyter 界面左上角的 Upload 按钮,把 CSV/Excel 文件拖进当前目录
- 如果非要用 D 盘路径(Windows),必须加
r前缀或双反斜杠:r"D:datasales.csv"或"D:\data\sales.csv" - 用
!pwd(Linux/macOS)或!cd(Windows)在 notebook 里查当前工作目录,避免猜路径
read_csv() 读 CSV 时常见报错怎么修
UnicodeDecodeError 或乱码,基本是编码不对;ParserError 多半是分隔符或空行惹的祸。
将 PySpark .show() 输出转为 Tab 分隔文本,方便粘贴 Excel。触发词:pyspark、数据转excel、表格整理、venus数据、show输出、复制到excel、数据格式化。
- 中文出乱码?试
pd.read_csv("file.csv", encoding="gbk")或encoding="utf-8-sig"(Windows Excel 默认保存带 BOM 的 UTF-8) - 报 “Expected x fields, saw y”?可能是某行逗号多/少,加
on_bad_lines="skip"(pandas ≥ 1.3)跳过异常行 - 用制表符或分号分隔?显式指定:
pd.read_csv("file.csv", sep=" ")或sep=";" - 第一行不是列名?加
header=None,再用names=[...]自定义列名
read_excel() 读 Excel 要多装一个依赖
pd.read_excel() 默认不支持 .xlsx,会报 ImportError: No module named 'openpyxl'。
- 运行一次
!pip install openpyxl(xlsx)或!pip install xlrd(旧版 .xls) - 指定 sheet:
pd.read_excel("data.xlsx", sheet_name="Sheet2"),不写默认读第一个 sheet - Excel 里有合并单元格?
pd.read_excel()会自动填 NaN,但不会还原合并逻辑,得手动处理 - 想读多个 sheet?用
pd.read_excel("data.xlsx", sheet_name=None),返回 dict of DataFrames
读完发现数据“歪了”或“缺列”怎么办
不是文件坏了,是 read_csv / read_excel 默认行为和你预期不一致。
- 索引列被当数据?加
index_col=0把第一列设为行索引 - 时间列没识别成 datetime?加
parse_dates=["date"]或后续用pd.to_datetime(df["date"]) - 数值列读成字符串(比如带逗号的金额)?加
thousands=","参数,或用df["col"] = df["col"].str.replace(",", "").astype(float) - 空值显示为 "N/A"、"NULL"、"-"?提前用
na_values=["N/A", "NULL", "-"]统一转成 NaN
真正麻烦的从来不是语法,而是文件实际结构和函数默认假设之间的偏差——多 print(df.shape)、df.dtypes、df.head(3),比反复改参数更省时间。

















