Проблема UT8 - Есть ли способ конвертировать странно выглядящие символы ä в его надлежащий немецкий символ ä в Python? - PullRequest
0 голосов
/ 27 августа 2018

У меня есть файл .txt, который должен содержать немецкие умлауты, такие как ä, ö, ß, ü. Но эти символы не появляются как таковые, а вместо этого появляется Ã вместо ä, Ã вместо Ü и так далее. Это происходит потому, что файл .txt хранится в кодировке ANSI. Теперь, когда я импортирую этот файл с соответствующими столбцами в виде строк в SAS (DataStep) или Python (с .read_csv), эти странные символы появляются в .sas7bat и Python DataFrame как таковых, вместо правильных символов, таких как ä , ö, ü, ß.

Один обходной путь для решения этой проблемы -

  1. Открыть файл в стандартном блокноте.
  2. Нажмите «Сохранить как», после чего появится окно.
  3. Затем в раскрывающемся списке измените кодировку на UTF-8.

Теперь, когда вы импортируете файлы в SAS или Python, все импортируется правильно.

Но иногда файлы .txt, которые у меня есть, очень большие (в ГБ), поэтому я не могу открыть их и сделать этот хак, чтобы решить эту проблему.

Я мог бы использовать функцию .replace (), чтобы заменить эти странные символы на настоящие, но могут быть некоторые комбинации странных символов, о которых я не знаю, поэтому я хотел бы избежать этого.

Существует ли какая-либо библиотека Python, которая может автоматически переводить эти странные символы в их правильные символы - например, ¤ переводится в ä и так далее?

1 Ответ

0 голосов
/ 27 августа 2018

Вы пытались использовать библиотеку кодеков?

import codecs
your_file= codecs.open('your_file.extension','w','encoding_type')
...