我有一个不是utf-8
编码的csv文件。在Python 3中打开它似乎是不可能的。我已经尝试了各种.encode()
Windows-1252
,ISO-8859-1
,latin-1
- 每次我都会
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfc in position 279: invalid start byte
0xfc
字节是德语ü
我承认我的判断受到了影响,因为我现在很长时间都在与这个问题作斗争。我错过了什么?我在Python中一直遇到unicode问题,但这个问题看起来特别顽固。
这是我第一次尝试使用Python 3,据我所知,不再有.decode()
,这可以在第二次解决问题。
编辑: 代码打开文件:
import unicodecsv as csv
csv.reader(open('myFile.csv', 'r'), delimiter = ';')
答案 0 :(得分:3)
只需在打开文件时指定编码:
with open("xxx.csv", encoding="latin-1") as fd:
rd = csv.reader(fd)
...
或使用您自己的代码:
csv.reader(open('myFile.csv', 'r', encoding='latin1'), delimiter = ';')