2015-10-07 76 views
0

这是我在这个网站上的第一篇文章,所以我在这篇文章中的任何错误致歉。从csv阅读python不给正确的答案

我正在为一家公司的Twitter情绪分析工作。我有一个csv,里面充斥着推文(只有1列),我想知道他们是否正在积极评价该公司或负面评价。 我发现一个包可以从句子中找到极性&的主观性。例如,这是我的Python脚本是我想找到的结果:

from pattern.nl import sentiment 
print sentiment('I love this company!') 

和结果:

(0.75, 0.90) 

在这一点上,一切正常,但我需要做到这一点的6000多条推文,所以我想到了将csv读入脚本并为每行执行。

import csv 
from pattern.nl import sentiment 
import sys 

f = open('C:\Users\Admin\Desktop\TweetsFromNodeXLOnlyTweets.csv') 
try: 
    reader = csv.reader(f) 
    for row in reader: 
     text = row 
     print sentiment(text) 
finally: 
f.close() 

当我运行这个,我只是得到(0.00,0.00)的所有tweets。看起来脚本无法读取它,但是当我只是打印文本时,我会收到所有推文。当我写出印刷情绪(文字)时,我确实得到了我想要的结果,但仅限于那一条推文。 我该如何解决这个问题?我对Python很新颖(昨天开始),但没有任何教程或其他文章可以帮助我。

+3

尝试'文本=行[0]' – Azad

+0

^^ @DenStutdent,尝试什么阿扎德暗示。这可能就是它。 – idjaw

+0

@Azad谢谢你!这解决了它。我的一个愚蠢的错误:P – DenStudent

回答

2

根据documentation,csv.reader在迭代时返回字符串列表,对应于行中的字段。由于您的CSV只有一列,返回的将只有一个项目的列表,所以你应该这样访问:

text = row[0]