IT-Swarm.Net

(unicode错误)'unicodeescape'编解码器无法解码2-3位的字节:截断\ UXXXXXXXX转义

我正在尝试将.csv文件读入Python(Spyder)但我一直收到错误。我的代码:

import csv

data = open("C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener")
data = csv.reader(data)  
print(data)

我收到以下错误:

SyntaxError :( unicode错误)'unicodeescape'编解码器无法解码2-3位的字节:截断\ UXXXXXXXX转义

我试图用\替换\或用/和我试图在之前放一个r “C .. 但所有这些东西都不起作用。

91
Miesje

发生此错误的原因是您使用普通字符串作为路径。您可以使用以下解决方案之一来解决您的问题。

  1. 只需将r放在普通字符串之前,它就会将普通字符串转换为原始字符串:

pandas.read_csv(r"C:\Users\DeePak\Desktop\myac.csv")

2:

pandas.read_csv("C:/Users/DeePak/Desktop/myac.csv")

3:

pandas.read_csv("C:\\Users\\DeePak\\Desktop\\myac.csv")
131
DeePak M. Birajdar

字符串中的第一个反斜杠被解释为一个特殊字符,实际上因为它后跟一个“U”,它被解释为unicode代码点的开头。

要解决此问题,您需要转义字符串中的反斜杠。我不是专门知道Python,但我猜你是通过加倍反斜杠来实现的:

data = open("C:\\Users\\miche\\Documents\\school\\jaar2\\MIK\\2.6\\vektis_agb_zorgverlener")
21
thomasrutter

你可以把r 放在 字符串前面,用你的实际路径表示一个原始字符串。例如:

data = open(r"C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener")
13
Mohit Solanki

尝试将文件路径写为"C:\\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener",即在驱动器后使用双反斜杠而不是"C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener"

9
Ibrahim Isa

根据 字符串文字

字符串文字可以包含在单引号(即'...')或双引号(即"...")中。它们也可以包含在三个单引号或双引号的匹配组中(这些通常称为三引号字符串)。

反斜杠字符(即\)用于转义否则具有特殊含义的字符,例如换行符,反斜杠本身或引号字符。字符串文字可以选择以字母rR为前缀。这些字符串称为 原始字符串 并对反斜杠转义序列使用不同的规则。

三重引用的字符串未转义的换行符quotes是允许的,除了行中的三个未转义的引号终止字符串。

除非存在rR前缀,否则字符串中的转义序列将根据与标准C使用的规则类似的规则进行解释。

理想情况下,您需要更换线路:

data = open("C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener")

对于以下任何一个字符:

  • 使用raw前缀和单引号(即'...'):

    data = open(r'C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener')
    
  • 使用双引号(即"...")和转义反斜杠字符(即\):

    data = open("C:\\Users\\miche\\Documents\\school\\jaar2\\MIK\\2.6\\vektis_agb_zorgverlener")
    
  • 使用双引号(即"...")和转发符号(即/):

    data = open("C:/Users/miche/Documents/school/jaar2/MIK/2.6/vektis_agb_zorgverlener")
    
6
DebanjanB

它通过f = open('F:\\ file.csv')中和'\'来为我工作

3
vinod

将其视为原始字符串。只需简单的回答,在Windows路径之前添加 r

import csv
data = open(r"C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener")
data = csv.reader(data)  
print(data)
3
Ramineni Ravi Teja

只需将r放在前面就可以了。

例如:

  white = pd.read_csv(r"C:\Users\hydro\a.csv")
3
Hydrogirl

双\应该适用于Windows,但您仍需要处理您在路径中提到的文件夹。所有这些(exept文件名)必须存在。否则你会收到错误。

0
G4W