私は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のキーであるすべての昼間の高いユニットを、プリントアウトしたいですが、私はすべてを集めることができませんキーがすべての別々の辞書に対応するデータをリスト(または他のもの)に変換します。任意のデータ型でそれらを収集するのに役立つと、本当に役に立ちます。私の目標は、日中の最高値に対応する日付をプリントアウトすることです。
はP.S.
APIへのnoobの 、読書(と助けて)いただき、ありがとうございますそれが必要とされる場合、これは私が情報を取得するために使用しているスクリプトのコピーである、それは気象庁を使用しています(これは英国の天気予報サイトです)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