在python中导入csv文件时出现Unicode错误?
您好,我正在使用以下代码从我的csv文件中删除重复记录:在python中导入csv文件时出现Unicode错误?,python,Python,您好,我正在使用以下代码从我的csv文件中删除重复记录: inFile = open('I:\SIT\Monthly\LatestMonthly\source\Network1.csv','r') outFile = open('I:\SIT\Monthly\LatestMonthly\source\Network2.csv','w') listLines = [] for line in inFile: if line in listLines: continue
inFile = open('I:\SIT\Monthly\LatestMonthly\source\Network1.csv','r')
outFile = open('I:\SIT\Monthly\LatestMonthly\source\Network2.csv','w')
listLines = []
for line in inFile:
if line in listLines:
continue
else:
outFile.write(line)
listLines.append(line)
outFile.close()
inFile.close()
运行脚本时,我收到一个错误:
UnicodeScape编解码器无法解码位置35-36的字节:格式错误的\N字符转义
为什么会出现此错误?您的错误发生在您打开文件之前 您没有逃避文件名中的反斜杠
'I:\SIT\Monthly\LatestMonthly\source\Network1.csv'
因此,\N
被解释为Unicode转义字符(\N
按名称插入Unicode字符,例如,'\N{music SYMBOL g CLEF}'
)
您可以在此处尝试使用原始文字:
前缀r
告诉Python将所有反斜杠视为文字反斜杠。或者,您可以记住始终避开反斜杠:
'I:\\SIT\\Monthly\\LatestMonthly\\source\\Network1.csv'
最后,您可以使用正斜杠:
'I:/SIT/Monthly/LatestMonthly/source/Network1.csv'
我建议添加一些控制代码来显示出现问题的行,以便检查csv文件的右行-最低限度:
for(lineNo,line)in enumerate(infle):print(lineNo)[…]
是ASCII格式的csv fle吗。?错误消息建议使用unicode,这意味着每个字符可能超过一个字节。您可以首先将输入文件转换为ASCII,或者使用编解码器用Python对其进行解码。感谢nnenonneo…我尝试了所有这些,但itz仍然无法正常工作,请记住,您必须将其应用于两条路径。如果你仍然有问题,你可以考虑把你的新代码添加到你的问题中。
'I:/SIT/Monthly/LatestMonthly/source/Network1.csv'