python 从 csv 读取未给出正确答案

python reading from csv doesn't give the right answer

这是我第一次 post 访问此站点,对于在此 post 中出现的任何错误,我深表歉意。

我正在为一家公司进行 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)。脚本似乎无法读取它,但当我只是打印文本时,我会收到所有推文。当我写 print sentiment(text) 时,我确实得到了我想要的结果,但仅限于那条推文。 我该如何解决这个问题?我是 Python 的新手(昨天开始),但是本网站上的任何教程或其他 post 都无法帮助我!

根据documentation、csv.readerreturns列表字符串迭代时,对应行中的字段。由于您的 csv 只有一列,返回的列表将只有一项,因此您应该这样访问它:

text = row[0]