0

Ошибка UnicodeDecodeError в Python при чтении файла: как игнорировать ошибку и перейти к следующей строке?

11

У меня есть задача прочитать текстовый файл в Python. Кодировка файла следующая:

file -bi test.csv 
text/plain; charset=us-ascii

Это файл стороннего производителя, и я получаю новый каждый день, поэтому предпочел бы не изменять его. В файле есть нестандартные символы, такие как Ö. Мне нужно читать строки с помощью Python, и я могу позволить себе игнорировать строки, содержащие нестандартные символы.

Моя проблема заключается в том, что при чтении файла в Python возникает ошибка UnicodeDecodeError, когда я достигаю строки, где есть нестандартный символ, и я не могу прочитать остальную часть файла.

Есть ли способ избежать этого? Если я попытаюсь сделать так:

fileHandle = codecs.open("test.csv", encoding='utf-8')
try:
    for line in companiesFile:
        print(line, end="")
except UnicodeDecodeError:
    pass

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

Есть ли какой-либо способ это сделать? Большое спасибо.

0 ответ(ов)

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь