Я обрабатываю некоторые данные, которые были вручную введены пользователем в 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?