#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
вызове.