Python 2.7和Textblob - TypeError:传递给`__init __(text)`的`text`参数必须是一个字符串,而不是<type'list'=“”>

时间:2016-05-10 22:50:26

标签: python-2.7 csv textblob

更新:问题已解决。(请参阅下面的评论部分。)最后,需要以下两行才能将.csv转换为unicode并使用TextBlob:row = [cell.decode(&# 39; utf-8&#39;)行中的单元格]和text =&#39; &#39;。。加入(行)

原始问题: 我正在尝试使用名为Textblob的Python库来分析.csv文件中的文本。我在代码中调用Textblob时收到的错误是:

  

Traceback(最近一次调用最后一次):文件   &#34; C:\用户\马库斯\文件\博客\的Python \脚本\布鲁克斯\ textblob_sentiment.py&#34 ;,   第30行,在       blob = TextBlob(row)文件&#34; C:\ Python27 \ lib \ site-packages \ textblob \ blob.py&#34;,第344行,in   的初始化       &#39;必须是字符串,而不是{0}&#39; .format(type(text)))TypeError:传递给text的{​​{1}}参数必须是字符串,而不是

我的代码是:

__init__(text)

我一直在处理UTF / unicode问题。我最初有一个不同的主题,我提出this thread。 (由于我的代码和错误已经改变,我发布到新的帖子。)打印语句表明变量&#34; row&#34;是type = str,我认为这表明阅读器对象已根据Textblob的要求进行了转换。源.csv文件保存为UTF-8。任何人都可以提供反馈,告诉我如何解决这个问题,以及我的代码中的缺陷? 非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

所以也许你可以改变如下:

row = str([cell.encode('utf-8') for cell in row])