将API的JSON响应存储到CSV文件

时间:2012-03-08 13:39:44

标签: python json api csv

我正在尝试编写一个向TweetSentiments.com API发送查询的python脚本。

这个想法是它会像这样表现 -

读取CSV推文文件>从推文文件构建查询>询问API>格式JSON响应>将API结果写入CSV文件。

到目前为止,我已经想出了这个 -

import csv
import urllib
import simplejson as json
import os

Tweets=[] ## Creates empty list to store tweets.

TweetWriter = csv.writer(open('test.csv', 'w'), dialect='excel', delimiter=' ',quotechar='|')
TweetReader = csv.reader(open("C:\StoredTweets.csv", "r"))

for row in TweetReader:

    #TweetList.append(rows)
    Tweets.append({ 'tweet': row[0], 'date': row[1] }) ## Stores from CSV in list.

for rows in Tweets:


    #print TweetList

    data = urllib.urlencode({'Tweet': row[0], 'Date': row[1]}) ##Takes Tweet and date to construct query.

    #print data

    API_request = urllib.urlopen("http://data.tweetsentiments.com:8080/api/analyze.json?q=", data) ## Adds query to end of URL and queries API

    result = json.load(API_request('{"sentiment":}') ## "Sentiment": is a heading in the JSON response

    TweetWriter.writerow(result) ## Writes API Response to CSV file.

我在解码json时遇到问题。我对json.load部分感到困惑...我应该引用json响应中的标题然后尝试将其存储到变量中吗?这意味着我可以将其写入CSV文件吗?

我从API获得的响应是​​ -

{"sentiment":{"value":1,"name":"Positive"}}

所以我指的是“Sentiment”会存储整个回复。

抱歉,我真的很困惑。阅读这么多不同的论坛帖子和教程。

非常感谢您的建议和帮助!

0 个答案:

没有答案