基本上,我試圖使用govtrack.us提供的API來獲取信息並將其存儲到我自己的應用程序的數據存儲庫中,以供進一步操作(使用python)。 api默認提供json,當我得到json時,我開始迷失如何將每個元素添加到數據存儲中。例如,這個json有以下鍵:{u'meta',u'objects'}。每個對象都具有以下鍵:如何將api請求的結果保存到Google Datastore?
[u'gender_label', u'osid', u'id', u'pvsid', u'current_role', u'name_sortable', u'firstname', u'twitterid', u'middlename', u'lastname', u'bioguideid', u'birthday', u'link', u'youtubeid', u'nickname', u'name', u'roles', u'gender', u'namemod', u'metavidid', u'name_no_details', u'resource_uri']
我希望能夠把每一個對象,並將其存儲到數據存儲(但不是所有的信息只是一些 - 像u'current_role「 u'youtubeid」,U '名字'等等)。
現在,我已經有了這個功能,拉的JSON:
def get_congressman():
url = 'http://www.govtrack.us/api/v1/person?roles__current=true&limit=3000'
content = None
try:
content = urllib2.urlopen(url).read()
except URLError:
return
if content:
return content
這遍歷返回的JSON:
current_congressman = get_congressman()
j = json.loads(current_congressman)
name = [c['name_no_details'] for c in j['objects']]
youtube = [c['youtubeid'] for c in j['objects']]
gender_list = [c['gender_label'] for c in j['objects']]
而是將所有的人的姓名,性別,youtube等等提供給一個單獨的列表,我想將每個對象添加到他們自己的列表中,其中包含添加到數據存儲所需的信息。基本上,像這樣的列表:
["Gary Ackerman", "Male", "RepAckerman"]
但是每個對象一個。什麼是最好的方式去做這件事?或者我必須列出所有名稱,所有性別的列表等等,然後將它們匹配起來?
不知道。謝謝! – glitchbox 2012-08-16 08:20:07