我是个新手,正在学习机器学习。我偶然发现了一个我在网上找到的教程,我想让这个程序工作起来,这样我就能更好地理解它。但是,我在将CSV文件加载到Jupyter Notebook时遇到了问题。
我得到了这个错误:
File "<ipython-input-2-70e07fb5b537>", line 2
student_data = pd.read_csv("C:\Users\xxxx\Desktop\student-intervention-
system\student-data.csv")
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in
position 2-3: truncated \UXXXXXXXX escape下面是代码:

我遵循了关于这个错误的在线教程,但没有一个起作用。有人知道怎么修吗?
第三次尝试使用r"path“

我也尝试过"\“和utf-8,但都不起作用。
我使用的是最新版本的Anaconda Windows 7 Python 3.7
发布于 2019-03-18 01:13:12
对Windows路径使用原始字符串表示法。在python中'\‘在python中有意义。尝试使用类似于r“path”的字符串:
student_data = pd.read_csv(r"C:\Users\xxxx\Desktop\student-intervention- system\student-data.csv")
如果不起作用,试着这样做:
import os
path = os.path.join('c:' + os.sep, 'Users', 'xxxx', 'Desktop', 'student-intervention-system', 'student-data.csv')
student_data = pd.read_csv(path)发布于 2019-03-18 16:56:38
将所有的反斜杠
\替换为正斜杠/,或者在文件路径字符串之前放置一个r以避免此错误。这不是你的文件夹名称太长的问题。
正如Bohun Mielecki提到的,在Windows中通常用于表示文件结构的\字符在写入字符串时具有不同的功能。
出自Python3 Documentation:反斜杠
\字符用于转义具有特殊含义的字符,例如换行符、反斜杠本身或引号字符。
这对你的语句有什么特别的影响,在这一行
student_data = pd.read_csv("C:\Users\xxxx\Desktop\student-intervention-
system\student-data.csv")\Users与转义序列\Uxxxxxxxx匹配,由此xxxxxxxx引用Character with 32-bit hex value xxxxxxxx。因此,Python尝试查找32位十六进制值。但是,由于来自Users的-sers与xxxxxxxx格式不匹配,因此会出现以下错误:
unicode SyntaxError:(unicode错误)‘
’编解码器无法解码位置2-3中的字节: truncated \UXXXXXXXX转义
您的代码现在可以工作的原因是您在'C:\Users\xxxx\Desktop\project\student-data.csv'前面放置了一个r。这告诉python不要像往常一样处理反斜杠字符/,而是按原样读取整个字符串。
我希望这能帮助你更好地理解你的问题。如果你需要更多的澄清,请让我知道。
发布于 2020-09-23 21:05:29
我也有同样的问题。我试着用“拉丁语-1”对它进行编码,这对我很有效。
autos = pd.read_csv('filename',encoding = "Latin-1")https://stackoverflow.com/questions/55209661
复制相似问题