Mie*_*sje 141 python csv unicode syntax-error
我正在尝试将.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)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
SyntaxError :( unicode错误)'unicodeescape'编解码器无法解码2-3位的字节:截断\ UXXXXXXXX转义
我试图用\替换\或用/和我试图在"C ..之前放一个r ..但所有这些东西都不起作用.
小智 192
发生此错误的原因是您使用普通字符串作为路径.您可以使用以下解决方案之一来解决您的问题.
r普通字符串转换为原始字符串:pandas.read_csv(r"C:\Users\DeePak\Desktop\myac.csv")
2:
pandas.read_csv("C:/Users/DeePak/Desktop/myac.csv")
Run Code Online (Sandbox Code Playgroud)
3:
pandas.read_csv("C:\\Users\\DeePak\\Desktop\\myac.csv")
Run Code Online (Sandbox Code Playgroud)
tho*_*ter 31
字符串中的第一个反斜杠被解释为一个特殊字符,实际上因为它后跟一个"U",它被解释为unicode代码点的开头.
要解决此问题,您需要转义字符串中的反斜杠.我不是专门知道Python,但我猜你是通过加倍反斜杠来实现的:
data = open("C:\\Users\\miche\\Documents\\school\\jaar2\\MIK\\2.6\\vektis_agb_zorgverlener")
Run Code Online (Sandbox Code Playgroud)
Moh*_*nki 14
您可以使用实际路径放在字符串r 前面,这表示原始字符串.例如:
data = open(r"C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener")
Run Code Online (Sandbox Code Playgroud)
小智 12
尝试将文件路径写为"C:\\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener"ie,在驱动器后使用双反斜杠,而不是"C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener"
Ram*_*eja 12
将其视为原始字符串。只是简单的答案,请在Windows路径前添加r。
Run Code Online (Sandbox Code Playgroud)import csv data = open(r"C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener") data = csv.reader(data) print(data)
Deb*_*anB 10
根据字符串文字:
字符串文字可以用单引号(即
'...')或双引号(即"...")括起来.它们也可以包含在三个单引号或双引号的匹配组中(这些通常称为三引号字符串).反斜杠字符(ie
\)用于转义否则具有特殊含义的字符,例如换行符,反斜杠本身或引号字符.字符串文字可以选择以字母r或前缀为前缀R.这些字符串称为原始字符串,并对反斜杠转义序列使用不同的规则.在三引号字符串中,允许使用未转义的换行符和引号,但行中的三个未转义引号将终止该字符串.
除非存在
r或R前缀,否则字符串中的转义序列将根据与标准C使用的规则类似的规则进行解释.
理想情况下,您需要更换线路:
data = open("C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener")
Run Code Online (Sandbox Code Playgroud)
对于以下任何一个字符:
使用原始前缀和单引号(即'...'):
data = open(r'C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener')
Run Code Online (Sandbox Code Playgroud)使用双引号(ie "...")和转义反斜杠字符(即\):
data = open("C:\\Users\\miche\\Documents\\school\\jaar2\\MIK\\2.6\\vektis_agb_zorgverlener")
Run Code Online (Sandbox Code Playgroud)使用双引号(ie "...")和转发字符(即/):
data = open("C:/Users/miche/Documents/school/jaar2/MIK/2.6/vektis_agb_zorgverlener")
Run Code Online (Sandbox Code Playgroud)只在前面放一个 r 效果很好。
例如:
white = pd.read_csv(r"C:\Users\hydro\a.csv")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
416446 次 |
| 最近记录: |