В коды ниже печати данных:UnicodeDecodeError: «ASCII» кодек не может декодировать байт - NLTK
f = codecs.open('scrapeddata.csv', 'r')
data = f.read()
print data
данных выглядит следующим образом:
Foul by Fabian Sch�r (Switzerland). Wayne Rooney (England) wins a free kick in the attacking half. Attempt missed. Xherdan Shaqiri (Switzerland) right footed shot from outside the box is high and wide to the right. Assisted by Josip Drmic. Booking James Milner (England) is shown the yellow card for a bad foul. Stephan Lichtsteiner (Switzerland) wins a free kick in the defensive half. Foul by James Milner (England). Offside, Switzerland. G�khan Inler tries a through ball, but Xherdan Shaqiri is caught offside.
Затем я пытаюсь сделать простой анализ частоты слов со следующими кодами:
from nltk import FreqDist, sent_tokenize, word_tokenize
data = word_tokenize(data)
freq = FreqDist(data)
freq
Это возвращает:
----> 3 data = word_tokenize(data)
UnicodeDecodeError: 'ascii' codec can't decode byte 0x94 in position 14: ordinal not in range(128)
Любая помощь?
Какая кодировка вводится с помощью? Python предполагает, что это ASCII и задыхается, когда осознает, что это не так. – icktoofay
Unicode (UTF-8) – kevin
python 2 в беспорядочной поддержке юникода было достаточным мотивом для перехода на python 3. Если python 3 - это опция, я бы порекомендовал вам пойти по этому маршруту. –