更新:问题已解决。(请参阅下面的评论部分。)最后,需要以下两行才能将.csv转换为unicode并使用TextBlob:row = [cell.decode(&# 39; utf-8')行中的单元格]和text =' '。。加入(行)
原始问题: 我正在尝试使用名为Textblob的Python库来分析.csv文件中的文本。我在代码中调用Textblob时收到的错误是:
Traceback(最近一次调用最后一次):文件 " C:\用户\马库斯\文件\博客\的Python \脚本\布鲁克斯\ textblob_sentiment.py&#34 ;, 第30行,在 blob = TextBlob(row)文件" C:\ Python27 \ lib \ site-packages \ textblob \ blob.py",第344行,in 的初始化 '必须是字符串,而不是{0}' .format(type(text)))TypeError:传递给
text
的{{1}}参数必须是字符串,而不是
我的代码是:
__init__(text)
我一直在处理UTF / unicode问题。我最初有一个不同的主题,我提出this thread。 (由于我的代码和错误已经改变,我发布到新的帖子。)打印语句表明变量" row"是type = str,我认为这表明阅读器对象已根据Textblob的要求进行了转换。源.csv文件保存为UTF-8。任何人都可以提供反馈,告诉我如何解决这个问题,以及我的代码中的缺陷? 非常感谢你的帮助。
答案 0 :(得分:0)
所以也许你可以改变如下:
row = str([cell.encode('utf-8') for cell in row])