2015-05-26 3 views
16

Я пытаюсь прочитать CSV-файл в Dataframe в Pandas. Когда я пытаюсь сделать это, я получаю следующее сообщение об ошибке:Ошибка кодирования в Panda read_csv

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x96 in position 55: invalid start byte

Это из кода:

import pandas as pd 

location = r"C:\Users\khtad\Documents\test.csv" 

df = pd.read_csv(location, header=0, quotechar='"') 

Это на Windows 7 Enterprise с пакетом обновления 1 машину и, кажется, относится к каждому Созданный CSV-файл. В этом конкретном случае двоичный код из местоположения 55 равен 00101001, а местоположение 54 равно 01110011, если это имеет значение.

Сохранение файла в виде UTF-8 с помощью текстового редактора тоже не помогает. Аналогичным образом добавление параметра «encoding = 'utf-8» не работает, либо оно возвращает ту же ошибку.

Какова наиболее вероятная причина этой ошибки и существуют ли какие-либо обходные пути, кроме отказа от DataFrame построить на данный момент и с помощью модуля CSV для чтения в CSV линии по линии

+2

Вы пробовали передать param 'encoding = 'utf-8''' read_csv'? – EdChum

+1

или вы пробовали читать файл с помощью модуля csv, чтобы проверить, есть ли проблема с самим файлом? – Alexander

+0

@ Александр Я успешно прочитал файл с модулем csv, да. – khtad

ответ

39

Попробуйте позвонить read_csv с encoding='latin1', encoding='iso-8859-1' или encoding='cp1252';? эти различные кодировки, найденные на Windows,

+0

Я смог успешно использовать все 3 из этих кодировок. – Smitty

1

Это работает в Mac. а также вы можете использовать

df= pd.read_csv('Region_count.csv',encoding ='latin1')

Смежные вопросы