Удаление странных символов, созданных с помощью pandas .read_csv () на Linux - PullRequest
0 голосов
/ 06 августа 2020

Я обрабатываю некоторые данные, которые были вручную введены пользователем в CSV в Microsoft Excel. Бывают случаи, когда их апострофы используют альтернативный символ апострофа вместо '. Я пробовал несколько кодировок, таких как latin-1, ISO-8859-2, ISO-8859-1, et c. и всегда кажется, что этот специальный апостроф заменяется странным символом, который мне не нужен.

Например, чтение данных с помощью ISO-8859-1 дает Â кодировку, когда я хочу '

Теперь самое интересное: если я обработаю эти данные без кодирования на машине windows. Странных кодировок не получаю. Однако мне нужно обработать эти данные в контейнере Docker, который использует Ubuntu. Я полагаю, что кодировка различается в зависимости от моей собственной ОС.

Если я не укажу кодировку, я также получаю странные кодировки. если я попробую utf-8, я получаю cannot decode byte in position ... ошибок.

Код, который я читаю, например:

pd.read_csv(csv, engine = 'python', skip_blank_lines = True, encoding="latin-1")

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

...