在python中导入csv文件时出现Unicode错误?

在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

您好,我正在使用以下代码从我的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

    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'