Невозможно импортировать файл .csv через pd.read_csv из-за ошибок UTF-8 - PullRequest
1 голос
/ 16 июня 2020

Я пробовал множество решений как в R, так и в Python и сдался.

Я пытаюсь прочитать огромный файл .csv (1,6 ГБ).

Я даже не могу импортировать его с помощью pandas (удалось импортировать с помощью R).

Я начинаю с простого импорта. pd.read_csv() с чтением имени файла дает тот же результат.

Я получаю сообщение об ошибке: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb5 in position 0: invalid start byte

Google эту ошибку и go this этот вопрос

Из этого вопроса я пробую решения как

`encoding = 'unicode_escape'`

Это дает мне ошибку:

UnicodeDecodeError: 'unicodeescape' codec can't decode byte 0x5c in position 0: \ at end of string

Это решение

`pd.read_csv('file_name.csv', engine='python')`

дает мне ошибку:

`ParserError: NULL byte detected. This byte cannot be processed in Python's native csv library at the moment, so please pass in engine='c' instead`

Если я установил двигатель как 'c'

`taxi_2020 = pd.read_csv(path, engine = 'c')`

У меня снова будет UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb5 in position 0: invalid start byte

I также пытался использовать это

import sys
reload(sys)
sys.setdefaultencoding("ISO-8859-1")

, но это не актуально для Python 3.6

Чем больше я стараюсь, тем больше дерево решений моих ошибок. R импортирует эти данные, но у меня также возникают проблемы с ним, когда я пытаюсь работать с символьными столбцами. Когда я пытаюсь преобразовать символьный столбец в дату, он говорит: «Входная строка 1 недействительна UTF-8».

Я новичок в Python, поэтому я был бы очень признателен за помощь с простым и универсальным решением, как импортировать такие данные . Набор данных огромен, не уверен, смогу ли я его куда-нибудь загрузить.

1 Ответ

1 голос
/ 16 июня 2020

вам может потребоваться включить encoding = "ISO-8859-1"

для справки: UnicodeDecodeError при чтении файла CSV в Pandas с Python

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