Ich verwende Python (3.4) in Jupyter Notebook, das standardmäßig bereits utf-8 verwenden sollte. Aber ich habe den folgenden Fehler beim Lesen einiger Daten aus einer CSV-Datei erhalten. Irgendeine Idee, wie man das behebt? Vielen Dank!
Code aus einer CSV-Datei gelesen:
with open("my_data.csv") as csvfile:
line = csv.reader(csvfile)
for row in line:
print (row)
Error:
Last executed 2017-01-06 04:58:59 in 85ms
---------------------------------------------------------------------------
UnicodeDecodeError Traceback (most recent call last)
<ipython-input-19-09c617346fbb> in <module>()
14 line = csv.reader(csvfile)
15
---> 16 for row in line:
17 print (row)
/usr/lib/python3.4/encodings/ascii.py in decode(self, input, final)
24 class IncrementalDecoder(codecs.IncrementalDecoder):
25 def decode(self, input, final=False):
---> 26 return codecs.ascii_decode(input, self.errors)[0]
27
28 class StreamWriter(Codec,codecs.StreamWriter):
UnicodeDecodeError: "ascii" codec can"t decode byte 0xcc in position 2588: ordinal not in range(128)
Antworten:
0 für die Antwort № 1Geben Sie die Codierung beim Öffnen der Datei an. Auch per CSV-Modul Dokumentation benutze die newline=""
Option für die zu verpackende Datei:
with open("my_data.csv",encoding="utf8",newline="") as csvfile:
line = csv.reader(csvfile)