Python 3 CSV-Datei mit UnicodeDecodeError: 'utf-8' Codec kann beim Drucken keinen Byte-Fehler dekodieren

9

Ich habe den folgenden Code in Python 3, der jede Zeile in einer CSV-Datei ausdrucken soll.

%Vor%

Aber wenn ich es ausführe, gibt es mir diesen Fehler:

%Vor%

Ich habe die csv-Datei durchgesehen, und es stellt sich heraus, dass wenn ich ein einzelnes ñ (kleines n mit einer Tilde oben) herausnehme, jede Zeile gut gedruckt wird.

Mein Problem ist, dass ich eine Reihe verschiedener Lösungen für ähnliche Probleme durchgesehen habe, aber ich habe immer noch keine Ahnung, wie ich das beheben, was ich dekodieren / kodieren kann, usw. Einfach das ñ Zeichen in den Daten herausnehmen Keine Option.

    
HLH 01.02.2014, 22:11
quelle

2 Antworten

28

Wir wissen, dass die Datei das Byte b'\x96' enthält, da es in der Fehlermeldung erwähnt wird:

%Vor%

Nun können wir ein kleines Skript schreiben, um herauszufinden, ob es Codierungen gibt, bei denen b'\x96' zu ñ dekodiert:

%Vor%

was zu

führt %Vor%

Versuchen Sie daher,

zu ändern %Vor%

zu einer dieser Kodierungen, wie zum Beispiel:

%Vor%     
unutbu 01.02.2014, 23:12
quelle
0
%Vor%

Versuchen Sie, die Datei wie oben zu öffnen

    
MA1 01.02.2014 22:33
quelle