2015-10-04 4 views
3

Я пытаюсь сделать/поезд анализатор твиттер настроений в IPython ноутбук и у меня возникают серьезные проблемы с одним участком кода:Не можете избавиться от TypeError: «ул» объект не вызываемая

import csv 

#Read the tweets one by one and process it 
inpTweets = csv.reader(open('SampleTweets.csv', 'rb'), delimiter=',', quotechar='|') 
tweets = [] 
for row in inpTweets: 
    sentiment = row[0] 
    tweet = row[1] 
    processedTweet = processTweet(tweet) 
    featureVector = getFeatureVector(processedTweet, stopwords) 
    tweets.append((featureVector, sentiment)); 
#end loop 

И я получаю эту ошибку:


TypeError         Traceback (most recent call last) 
<ipython-input-10-bbcb1b9f05f4> in <module>() 
     7  sentiment = row[0] 
     8  tweet = row[1] 
----> 9  processedTweet = processTweet(tweet) 
    10  featureVector = getFeatureVector(processedTweet, stopwords) 
    11  tweets.append((featureVector, sentiment)); 

TypeError: 'str' object is not callable 

И помощь была бы серьезно здорово, спасибо!

+1

'processTweet' не определен в коде, который вы указали. –

ответ

0

Здесь ваш обработанныйTweet должен быть str, поэтому вы не можете его назвать.

Пример -

>>> a = 'apple' 
>>> a(0) 

Traceback (most recent call last): 
    File "<pyshell#212>", line 1, in <module> 
    a(0) 
TypeError: 'str' object is not callable 

Но когда я использую индекс, это хорошо. Вызываемый означает, что вы используете это как функцию, например сумму и т. Д.

>>> a[0] 
'a' 
+0

Спасибо! И жаль быть идиотом ... но что мне делать? –

+0

Я не знаю вашего api, вам нужно проверить ваш 'обработанныйTweet', он должен иметь ошибку или вам нужно использовать его по-другому. – garg10may

+0

Похоже, что вам нужно обработать ваши твиты, поэтому вы должны иметь это как функцию где-то. Но опять же, не знаю, как это реализовано. Надеюсь, это поможет. – garg10may