我對API非常陌生,我正在嘗試製作一個Python腳本來告訴我這個城市的日子很高。我已在API樹立優良的,它輸出的數據是這樣的:使用API從相同名稱的多個鍵獲取所有數據python
{
"SiteRep":{
"Wx":{
"Param":[
{
"name":"FDm",
"units":"C",
"$":"Feels Like Day
Maximum Temperature"
},
{
"name":"FNm",
"units":"C",
"$":"Feels Like Night Minimum Temperature"
},
{
"name":"Dm",
"units":"C",
"$":"Day Maximum Temperature"
},
{
"name":"Nm",
"units":"C",
"$":"Night Minimum Temperature"
},
{
"name":"Gn",
"units":"mph",
"$":"Wind Gust Noon"
},
{
"name":"Gm",
"units":"mph",
"$":"Wind Gust Midnight"
},
{
"name":"Hn",
"units":"%",
"$":"Screen Relative Humidity Noon"
},
{
"name":"Hm",
"units":"%",
"$":"Screen Relative Humidity Midnight"
},
{
"name":"V",
"units":"",
"$":"Visibility"
},
{
"name":"D",
"units":"compass",
"$":"Wind Direction"
},
{
"name":"S",
"units":"mph",
"$":"Wind Speed"
},
{
"name":"U",
"units":"",
"$":"Max UV Index"
},
{
"name":"W",
"units":"",
"$":"Weather Type"
},
{
"name":"PPd",
"units":"%",
"$":"Precipitation Probability Day"
},
{
"name":"PPn",
"units":"%",
"$":"Precipitation Probability Night"
}
]
},
"DV":{
"dataDate":"2017-05-28T17:00:00Z",
"type":"Forecast",
"Location":{
"i":"350896",
"lat":"50.8371",
"lon":"-0.7734",
"name":"LONDON",
"country":"ENGLAND",
"continent":"EUROPE",
"elevation":"14.0",
"Period":[
{
"type":"Day",
"value":"2017-05-28Z",
"Rep":[
{
"D":"SE",
"Gn":"9",
"Hn":"66",
"PPd":"51",
"S":"7",
"V":"GO",
"Dm":"22",
"FDm":"20",
"W":"7",
"U":"6",
"$":"Day"
},
{
"D":"ENE",
"Gm":"20",
"Hm":"85",
"PPn":"42",
"S":"9",
"V":"VG",
"Nm":"16",
"FNm":"15",
"W":"12",
"$":"Night"
}
]
},
{
"type":"Day",
"value":"2017-05-29Z",
"Rep":[
{
"D":"SW",
"Gn":"13",
"Hn":"91",
"PPd": "59",
"S":"9",
"V":"GO",
"Dm":"18",
"FDm":"16",
"W":"12",
"U":"5",
"$":"Day"
},
{
"D":"W",
"Gm":"13",
"Hm":"93",
"PPn":"7",
"S":"7",
"V":"GO",
"Nm":"13",
"FNm":"12",
"W":"7",
"$":"Night"
}
]
},
{
"type":"Day",
"value":"2017-05-30Z",
"Rep":[
{
"D":"WSW",
"Gn":"25",
"Hn":"75",
"PPd":"9",
"S":"13",
"V":"VG",
"Dm":"18",
"FDm":"15",
"W":"7",
"U":"5",
"$":"Day"
},
{
"D":"WNW",
"Gm":"13",
"Hm":"89",
"PPn":"5",
"S":"9",
"V":"VG",
"Nm":"11",
"FNm":"10",
"W":"0",
"$":"Night"
}
]
},
{
"type":"Day",
"value":"2017-05-31Z",
"Rep":[
{
"D":"SW",
"Gn":"13",
"Hn":"58",
"PPd":"3",
"S":"4",
"V":"VG",
"Dm":"19",
"FDm":"18",
"W":"1",
"U":"7",
"$":"Day"
},
{
"D":"NE",
"Gm":"9",
"Hm":"87",
"PPn":"2",
"S":"4",
"V":"VG",
"Nm":"10",
"FNm":"9",
"W":"0",
"$":"Night"
}
]
},
{
"type":"Day",
"value":"2017-06-01Z",
"Rep":[
{
"D":"ESE",
"Gn":"18",
"Hn":"56",
"PPd":"0",
"S":"9",
"V":"VG",
"Dm":"19",
"FDm":"18",
"W":"1",
"U":"8",
"$":"Day"
},
{
"D":"E",
"Gm":"13",
"Hm":"80",
"PPn":"1",
"S":"9",
"V":"VG",
"Nm":"11",
"FNm":"9",
"W":"0",
"$":"Night"
}
]
}
]
}
}
}
}
問題是,我想打印出所有的日間高臺,這些都是在字典中的DM鍵,但我不能收集所有在所有單獨的字典中鍵對應的數據變成列表(或其他)。任何關於以任何數據類型收集它們的幫助都會非常有幫助。我的目標是打印日期與他們對應的白天高點。
感謝您閱讀(並幫助), 一個小白到API的
附:如果需要的話,這是我使用來獲取信息的腳本的副本,它使用氣象局(這是英國一個天氣預報網站)API:
import urllib.request, json, codecs
url = 'Insert API here'
json_obj = urllib.request.urlopen(url)
reader = codecs.getreader("utf-8")
data = json.load(reader(json_obj))
print (data)
謝謝,就像一個魅力! – Tom