alchemyapi-recipes-twitter - 无法正常工作

alchemyapi-recipes-twitter -Doesnot work properly

githublink代码如下:

https://github.com/AlchemyAPI/alchemyapi-recipes-twitter

当我 运行 recipe.py:

时出现以下错误
Traceback (most recent call last):
  File "recipe.py", line 340, in <module>
    main(sys.argv[1], int(sys.argv[2]))
  File "recipe.py", line 43, in main
    print_results()
  File "recipe.py", line 303, in print_results
    avg_pos_score = mean_results['result'][2]['avgScore'] 
TypeError: 'CommandCursor' object has no attribute '__getitem__'

我正在使用 python 版本 2.7.6 请帮我解决这个问题。

我认为您需要将第 301 行更改为 304 以反映 API 中的新更改。

首先,更改此行:

mean_results = tweets.aggregate([{"$group" : {"_id": "$sentiment", "avgScore" : { "$avg" : "$score"}}}])

mean_results = list(tweets.agg....)

所以现在,您不再需要为 CommandCursor 使用 result

相反,您需要做的是:

list(mean_results[2]['avgScore'])

相反,也重复下一行。只需删除 result 部分。

是的,我终于找到了正确的 output.Thanks Games Brainiac 帮助我解决了这个问题。

    mean_results = list(tweets.aggregate([{"$group" : {"_id": "$sentiment",   

   "avgScore" : { "$avg" : "$score"}}}]))
    avg_pos_score = mean_results[1]['avgScore'] 
    avg_neg_score = mean_results[0]['avgScore']

mean_results 将包含一个字典实体列表(在本例中为 3 个实体-neg、pos、neutral)。 所以 mean_results[0] 指的是否定实体。 mean_results[1]指正实体。 等等。 mean_results[1]['avgScore]=正实体的平均得分。 等等...