Ошибка кодирования в Python с китайскими иероглифами

Я новичок, испытывающий затруднения при декодировании нескольких десятков CSV-файлов с номерами + (упрощенные) китайские иероглифы в UTF-8 в Python 2.7.

Я не знаю кодировку входных файлов, поэтому я испробовал все возможные кодировки, которые мне известны - GB18030, UTF-7, UTF-8, UTF-16 и UTF-32 (LE & BE). Кроме того, для хорошей меры, GBK и GB3212, хотя они должны быть подмножеством GB18030. Все UTF останавливаются, когда добираются до первых китайских иероглифов. Остальные кодировки останавливаются где-то в первой строке, кроме GB18030. Я думал, что это будет решением, потому что он прочитал первые несколько файлов и декодировал их отлично. Часть моего кода, читая построчно:

line = line.decode("GB18030")

Первые 2 файла, которые я пытался декодировать, работали нормально. На полпути через третийфайлПитон выплевывает

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

В этом файле около 5 таких ошибок на миллион строк.

Я открыл входной файл в текстовом редакторе и проверил, какие символы дают ошибки декодирования, и первые несколько из них имели знаки евро в определенном столбце файлов CSV. Я уверен, что это опечатки, поэтому я просто хотел бы удалить символы евро. Я хотел бы исследовать типы ошибок кодирования один за другим; Я хотел бы избавиться от всех ошибок евро, но не хочу просто игнорировать других, пока я не посмотрю на них в первую очередь.

Изменить: я использовалchardet что дало GB2312 в качестве кодировки с доверием .99 для всех файлов. Я попытался использовать GB2312 для декодирования, который дал:

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

Ответы на вопрос(3)

Ваш ответ на вопрос