我对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