Ошибка кодирования при чтении CSV-файла с помощью pandas

#python #pandas #csv #encoding

Вопрос:

У меня есть файл CSV объемом 1,7 ГБ с примерно 20 миллионами наблюдений и 10 функциями, которые я хочу прочитать с помощью read_csv() . Однако при этом я получаю следующее сообщение об ошибке:

 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 1144: invalid continuation byte
 

Я попробовал эти 2 исправления, но для первого исправления я даже не могу открыть свой CSV-файл в блокноте или excel, потому что он слишком большой. Для второго исправления мне нужно знать исходную кодировку, которую я не знаю, как узнать, не открывая файл…он слишком большой, чтобы его открыть.

Есть ли какое-либо решение этой проблемы?

Комментарии:

1. Проблемный байт находится в позиции 1144, относительно рано в файле. Вы можете попробовать разделить первые, например, 2 тыс. строк ( head -n 20000 my_obs.csv > my_obs_first_2k.csv ) и загрузить это в блокнот. В качестве альтернативы, это может быть просто плохой символ в имени образца, и вы можете установить encoding_errors='ignore' его в read_csv вызове.