Ошибка токенизации данных. C ошибка Panda прочитать файл XLSX - PullRequest
1 голос
/ 06 октября 2019

Есть несколько вопросов с таким же названием, как у меня, но ни один из них не отвечает на мой вопрос.

Я пытаюсь прочитать файл xlsx, который имеет следующий формат enter image description here

Однако я получаю следующую ошибку: `Ошибка токенизации данных. Ошибка C: Ожидается 1 поле в строке 4, пила 3 ​​

Я не заинтересован в чтении раздела данных 1, раздела 2 или раздела 3 (однако у меня много таких файлов, поэтому я не могу их удалить) .Iхочу только читать данные, начиная с column1, column2, ... column17. (Допустим, удаление первых 40 строк) Вот что я попробовал:

data=pd.read_csv(Path)

Я получаю сообщение об ошибке токенизации данных. Ошибка C.

Когда я пробовал с header = None, я получаю то же самое. Я попробовал следующее:

data=pd.read_csv(Path,error_bad_lines=False)

Ошибка токенизации данных. Ошибка C: переполнение буфера обнаружено

Я попытался сделать следующее:

data=pd.read_csv(Path,names=[column1,column2,....column17])

Я получил эту ошибку

Кодек utf-8 не можетдекодируйте байт 0xf2 в позиции.

Я не знаю, какую кодировку использовать, и не думаю, что это проблема. Я также хочу пропустить первые 40 строк файла xlsx, и мне кажется, что я не могу сменить движок на python, и он работает только по умолчанию. и читать данные нормально. Может ли кто-нибудь помочь мне загрузить и прочитать эти данные? `

Обновление: после удаления section1, section2, ... У меня все равно также появляется ошибка токенизации. Однако удаление вышеперечисленных разделов приводит к повреждению некоторых файлов в столбцах, возможно, это именно тот случай.

`Обновление: файл можно прочитать с помощью pd.read_excel (Path), поэтому я не могу прочитать его с помощью pd.read_csv, посколькучто предоставляет гораздо больше опций, чем pd.read_excel?

Ответы [ 2 ]

2 голосов
/ 06 октября 2019

Попробуйте использовать,

data = pd.read_csv(path, skiprows=40)

Это пропустит чтение первых 40 строк в файле .csv.

1 голос
/ 06 октября 2019

вы можете df = Pd.read_excel (path, skiprows = 40). Чего вы пытались достичь, читая файл Excel из read_csv, поэтому он выдавал ошибку. Вы можете использовать это, и это не выдаст ошибку

...