Encoding-Fehler in Python mit chinesischen Zeichen

Ich bin ein Anfänger, der Probleme beim Dekodieren mehrerer Dutzend CSV-Dateien mit Zahlen und (vereinfachten) chinesischen Zeichen in UTF-8 in Python 2.7 hat.

Ich kenne die Codierung der Eingabedateien nicht und habe alle mir bekannten Codierungen ausprobiert: GB18030, UTF-7, UTF-8, UTF-16 und UTF-32 (LE und BE). Aus gutem Grund auch GBK und GB3212, obwohl dies eine Teilmenge von GB18030 sein sollte. Die UTF-Zeichen hören auf, wenn sie die ersten chinesischen Zeichen erreichen. Die anderen Codierungen, mit Ausnahme von GB18030, hören irgendwo in der ersten Zeile auf. Ich dachte, das wäre die Lösung, weil es die ersten Dateien durchliest und sie gut entschlüsselt. Ein Teil meines Codes, der Zeile für Zeile liest, lautet:

line = line.decode("GB18030")

Die ersten 2 Dateien, die ich zu dekodieren versuchte, funktionierten einwandfrei. Mitte des drittenDate, Spuckt Python aus

UnicodeDecodeError: 'gb18030' codec can't decode bytes in position 168-169: illegal multibyte sequence

In dieser Datei gibt es ungefähr 5 solcher Fehler in ungefähr einer Million Zeilen.

Ich öffnete die Eingabedatei in einem Texteditor und überprüfte, welche Zeichen die Entschlüsselungsfehler aufwiesen. Die ersten hatten alle Euro-Zeichen in einer bestimmten Spalte der CSV-Dateien. Ich bin mir ziemlich sicher, dass es sich um Tippfehler handelt, daher möchte ich nur die Euro-Zeichen löschen. Ich möchte die Arten von Codierungsfehlern nacheinander untersuchen. Ich möchte alle Eurofehler loswerden, aber andere erst ignorieren, wenn ich sie mir zuerst ansehe.

Bearbeiten: Ich habe @ verwendchardet, das GB2312 als Codierung mit 0,99-Konfidenz für alle Dateien angibt. Ich habe versucht, mit GB2312 zu dekodieren, was ergab:

UnicodeDecodeError: 'gb2312' codec can't decode bytes in position 108-109: illegal multibyte sequence

Antworten auf die Frage(6)

Ihre Antwort auf die Frage