Python: как разобрать не-ASCII символы в строке - PullRequest
0 голосов
/ 29 мая 2019

В моем скрипте Python я пытаюсь прочитать текстовый файл, который содержит столбцы с именами и фамилиями людей, некоторые из которых имеют символы не-ASCII, такие как ñ.Но когда я это делаю, я получаю ошибку UnicodeDecodeError: 'utf8' codec can't decode byte 0x96 in position 66.

Из того, что я читал в Интернете, я знаю, что вы можете справиться с этой проблемой, игнорируя или отбрасывая символы не-ASCII, но я не хочу этого делать.Есть ли прямой способ преобразования всех не-ASCII символов в файле в обычную строку?

В настоящее время я открываю свой файл с помощью infile = open(filename, 'rU').

Не повторяющийся вопрос : я спрашиваю о том, как прочитать в файле с символами Unicode, а не о том, как записать строку Unicode в файл.

1 Ответ

0 голосов
/ 30 мая 2019
  1. Сделайте копию файла.
  2. Убедитесь, что ваш файл в Unicode и выясните, какой формат Unicode он использует. некоторые простые редакторы, такие как geany , помогут вам найти правильную кодировку, которая использовалась при создании файла. Разбить файл, если он большой, и обработать его частью редакторами.
  3. Используйте правильную кодировку (возможно, это старая кодировка cp) для открытия файла и выполните преобразование файла в utf8. Или используйте инструмент (например, редактор), чтобы преобразовать его в utf8
...