Возможно, вы захотите проверить все ответы в этом вопросе, поскольку он кажется довольно похожим на ваш: UnicodeDecodeError: кодек 'charmap' не может декодировать байт X в позиции Y: символ отображается на
Как сказано на сайте, попробуйте:
file = open(filename, encoding="utf8")
Планировал поделиться этим как комментарием, но мне не хватает репутации для этого:)
РЕДАКТИРОВАТЬ: После прочтения вашего комментария в качестве ответа на мой предыдущий ответ и в соответствии с предложением Cett улучшить его:
Вероятно, лучший способ справиться с ошибками кодирования - использовать аргумент ошибок. Как сказано в вашем вопросе, если только некоторые символы не декодируются, тогда это будет хорошо для использования.
file = open(filename, encoding="utf8", errors = "ignore")
ПРИМЕЧАНИЕ: использование этого аргумента приведет к тому, что Python проигнорирует этот специальный символ. Поэтому я бы порекомендовал это только в том случае, если вы можете потерять некоторые данные.