Как лучше всего преобразовать все не отображаемые символы в кадре данных pandas? - PullRequest
1 голос
/ 09 мая 2020

Я загружаю данные в pandas dataframe из листа Excel, и во многих столбцах есть много не отображаемых символов, которые я хочу преобразовать.

Наиболее распространенным является апостроф. используется в сокращении; например, doesn't, что выглядит как doesn’t.

Раньше я использовал:

str.encode('ascii', errors='ignore').decode('utf-8')

, но для этого мне требовалось знать, какие столбцы мне нужно исправить.

В этом случае у меня есть 103 столбца, каждый из которых может содержать тот или иной тип проблем, подобных этому.

Я ищу способ просто заменить все без исключения проблемы во всем dataframe.

Есть ли быстрый и простой способ сделать это для всего dataframe без необходимости передавать каждый столбец функции?

Ответы [ 2 ]

0 голосов
/ 09 мая 2020

Попробуйте найти лучшие кодировки, подходящие для вашего файла:

from encodings.aliases import aliases
alias_values = set(aliases.values())

for value in alias_values:
    try:
        df = pd.read_csv(your_file, encoding=value) # or pd.read_excel
        print(value)
    except:
        continue

, затем откройте файл с правильными кодировками и посмотрите, какая из них работает лучше всего!

0 голосов
/ 09 мая 2020

При чтении Excel вы должны добавить encoding='utf-8'

df = pd.read_excel('App Stuff.xlsx', encoding='utf-8')

или использовать encoding='unicode-escape'

...