** Проблема решена в this post ** Я использую ПК с Windows 10 и пытаюсь очистить и проанализировать форум на сайте. Мое решение использует Scrapy и Textblob, и я запускаю Python 2.7. Скребок генерирует желаемый результат (который я сохраняю как .csv или .json). Однако, когда я использую этот файл в сценарии Python, интегрирующей TextBlob, я получаю следующее сообщение об ошибке:UnicodeDecodeError с использованием TextBlob и Python 2.7
Traceback (most recent call last):
File "C:\Users\Marcus\Documents\Blog\Python\Scripts\Brooks\textblob_sentiment.py", line 14, in <module>
print blob
File "C:\Python27\lib\site-packages\textblob\compat.py", line 30, in <lambda>
cls.__str__ = lambda x: x.__unicode__().encode('utf-8')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xf0 in position 425: ordinal not in range(128)
скрипт, который генерирует эту ошибку является:
# from __future__ import division, unicode_literals (This was recommended for Python 2.x, but didn't help in my case.)
import csv
from textblob import TextBlob
infile = 'items.csv'
with open(infile, 'r') as scrape_file:
comments = csv.reader(scrape_file)
for comment in comments:
sentence = comment[0]
blob = TextBlob(sentence)
print blob
Структура кода похож на другой thread, который я нашел на SO, и я также попытался интегрировать методы кодирования/декодирования в этот скрипт на основе других потоков, которые я нашел на SO. Но, возможно, я не делал этого правильно (я не разработчик). Я также попытался открыть json-файл, думая, возможно, проблема заключалась в кодировании .csv. Я могу распечатать желаемый контент (например, «напечатать предложение» или «распечатать комментарии», только когда я пытаюсь использовать TextBlob, который получил ошибку.
Возможно, у вас есть решение, которое блокирует эту ошибку? И поскольку Я хотел бы использовать эти библиотеки снова, как я могу избежать подобных головных болей
большое спасибо за вашу помощь в этом ...
Это похоже на ошибку в библиотеке. –
попробуйте добавить '# - * - кодирование: utf-8 - * -' в первую строку этого файла. – eLRuLL
Спасибо, к сожалению, это не помогло. Еще одно примечание: сообщение об ошибке генерируется после предоставления некоторого желаемого результата, поэтому кажется, что на выходе есть что-то определенное, вызывающее ошибку для TextBlob. – Marcus