DataFrame Pandas импортирует и отображает неправильно и вызывает UnicodeDecodeError - PullRequest
1 голос
/ 22 октября 2019

Я пытаюсь импортировать csv, содержащий китайские символы.

эта команда загружает файл csv

!wget -O wm.csv https://raw.githubusercontent.com/hierarchyJK/compare-LIBSVM-with-Linear-and-Gassian-Kernel/master/%E8%A5%BF%E7%93%9C3.0.csv

Хранилище не мое, поэтому я не уверен, чтоон закодирован правильно.

Я могу быть уверен, что правильно отображает .

этот код

pd.read_csv('wm.csv',encoding = 'utf-8')

вызывает эту ошибку

Кодек 'utf-8' не может декодировать байт 0xb1 в позиции 0: неверный стартовый байт

Я искал эту ошибку, не нашел подходящего rcaи решение.

этот код выполнен правильно

pd.read_csv('wm.csv',encoding = 'cp1252')

, но отображает искаженные

enter image description here

, которые система отображаетКитайские иероглифы правильно.

enter image description here

с командой открытия Python

with open('wm.csv', 'r', encoding='cp1252') as f:
    for line in f.readlines():
        print(line)
        break

этот код отображает что-то искаженное без каких-либо предупреждений или ошибок.

±àºÅ,É«Ôó,¸ùµÙ,ÇÃÉù,ÎÆÀí,Æ겿,´¥¸Ð,ÃܶÈ,º¬ÌÇÂÊ,ºÃ¹Ï,Ðò¹Øϵ

Ответы [ 3 ]

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

Кодировка «GB18030». Я нашел это, открыв файл в текстовом редакторе и проверив предложенную кодировку. Github на самом деле также показывает вам кодировку, когда вы переходите по ссылке github и нажимаете на файл редактирования

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

Вы должны использовать encoding="GBK". Надеюсь, что это поможет.

df = pd.read_csv('wm.csv', encoding="GBK")

Подробнее проверить ЗДЕСЬ

0 голосов
/ 22 октября 2019

Вот ссылка со всеми стандартными кодировками. Latin_1 хорошо сработал, когда у меня возникли проблемы, но в вашем случае вы можете попробовать utf_16_be. Удачи!

Стандартные кодировки

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