UnicodeDecodeError, когда я читаю большой файл, используя pd.read_csv - PullRequest
0 голосов
/ 22 февраля 2019
train = pd.read_csv('./train_vec.csv', header=None,sep=',',names=['label', 'vec', 'vec_with_sims'])

Получена ошибка ниже:

UnicodeDecodeError: кодек «utf-8» не может декодировать байт 0xaf в позиции 3: недопустимый начальный байт

Сначала я подумал, что это проблема с форматом кодирования, но когда я попытался прочитать только часть набора данных (например, только 10000 строк),

train = pd.read_csv('./train_vec.csv',nrows=10000,header=None,sep=',',names=['label', 'vec', 'vec_with_sims'])

ошибка исчезла!

Это потому, что тренировочный набор слишком большой (2.4G)?Конфигурация моей системы: Ubuntu16.04, GTX1070, 16G памяти, я думаю, этого достаточно!Что еще более странно, так это то, что каждый раз, когда компьютер перезагружается, тренировочный набор может загружаться в обычном режиме, но через некоторое время попытка загрузить тренировочный комплект снова приведет к той же ошибке.

1 Ответ

0 голосов
/ 25 февраля 2019

Пожалуйста, попробуйте добавить encoding = 'unicode_escape'

Например:

train = pd.read_csv (r './ train_vec.csv', header = Нет, sep = ',', names = ['label', 'vec', 'vec_with_sims'], encoding = 'unicode_escape')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...