使用TextBlob和Python 2.7进行UnicodeDecodeError

时间:2016-05-07 22:36:19

标签: python-2.7 scrapy textblob

**问题已解决this post **我正在使用Windows 10 PC并试图搜索和分析网站论坛。我的解决方案使用Scrapy和Textblob,我正在运行Python 2.7。抓取生成所需的输出(我保存为.csv或.json)。但是,当我在集成TextBlob的Python脚本中使用此文件时,出现以下错误:

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

代码的结构类似于我在SO上找到的另一个线程,我也尝试根据我在SO上找到的其他线程将编码/解码方法集成到此脚本中。但也许我没有这么做(我不是开发人员)。我也尝试打开json文件,想想问题可能是.csv被编码的方式。 我可以打印所需的内容(例如,“打印句子”或“打印注释”,只有当我尝试使用TextBlob时才会收到错误。
你有解决方案可以解锁这个错误吗? 既然我想再次使用这些库,我怎么能避免类似的麻烦呢?

非常感谢你对此的帮助......

1 个答案:

答案 0 :(得分:0)

试试这个:

unicodedata.normalize('NFKD', sentence).encode('ascii','ignore').lower()

确保导入unicode

import unicodedata