Python读取CSV文件遇unicodeescape编码错误求助
解决CSV文件读取的Unicode转义错误及文件不存在问题
一、处理Unicode转义错误
你的初始代码路径里的\U会被Python识别为Unicode转义序列,直接触发SyntaxError,以下三种方法可以彻底解决这个问题:
- 原始字符串标识:在路径前加
r,让Python跳过转义字符解析:sonar_data = pd.read_csv(r'C:\Users\adity\Onedrive\Documents\Coding\pandas minerocks.csv', header=None) - 双反斜杠转义:把路径里的每个单反斜杠替换成双反斜杠:
sonar_data = pd.read_csv('C:\\Users\\adity\\Onedrive\\Documents\\Coding\\pandas minerocks.csv', header=None) - 正斜杠替代(推荐,跨Windows/Linux/macOS通用):用正斜杠替换所有单反斜杠:
sonar_data = pd.read_csv('C:/Users/adity/Onedrive/Documents/Coding/pandas minerocks.csv', header=None)
二、解决“文件不存在”问题
你已经尝试了路径转义但仍报错,按以下步骤排查:
- 核对文件名与路径细节
- 确认文件名完全匹配:注意空格、拼写、后缀(比如是否是
.csv,有没有被系统隐藏),比如检查文件是pandas minerocks.csv还是pandas_minerocks.csv? - 直接复制系统生成的绝对路径:打开文件所在文件夹,右键文件→属性→复制“对象名称”,粘贴到代码中(记得搭配上述转义方式)。
- 确认文件名完全匹配:注意空格、拼写、后缀(比如是否是
- 检查脚本工作目录与文件位置
- 先打印脚本的当前工作目录,确认文件是否在该目录下:
import os print(os.getcwd()) - 如果文件不在工作目录,直接把文件移到脚本同文件夹下,用文件名读取即可:
sonar_data = pd.read_csv('pandas minerocks.csv', header=None)
- 先打印脚本的当前工作目录,确认文件是否在该目录下:
- 验证OneDrive同步状态
因为文件存于OneDrive文件夹,需确认文件已同步完成,没有处于“正在同步”或“同步失败”状态,否则系统无法正常读取该文件。
修正后的完整示例代码
import numpy as np import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score # 采用正斜杠路径的版本 sonar_data = pd.read_csv('C:/Users/adity/Onedrive/Documents/Coding/pandas minerocks.csv', header=None)
内容的提问来源于stack exchange,提问作者adiswordfish
相关产品推荐
相关产品推荐

