2015-10-07 64 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]