[英]Parsing key-values from multiple dictionaries Python
我正在嘗試開發一個簡單的Web應用程序,該應用程序基於用戶輸入的“ carpark_number”(例如“ SK61”)值提供“ carpark_data”。 我曾嘗試研究如何基於給定的key:Python字典值進行排序,但是我已經陷入僵局。
現在,我在下面有了這段代碼,對我來說,它是一個靜態站點,用於從API提供數據。 我如何為我修改此代碼,以便為希望根據他決定的“ carpark_number”獲取“ carpark_data”的用戶提供服務?
# Set the request parameters
url = "https://api.data.gov.sg/v1/transport/carpark-availability"
# Do the HTTP get request
response = requests.get(url)
# Check for HTTP codes other than 200
if response.status_code != 200:
print('Status:', response.status_code, 'Problem with the request. Exiting.')
exit()
else:
jack = response.json()
daniel = jack['items'][0]["carpark_data"]
print(json.dumps(daniel, indent=4)) #prints prettified jSON Data
樣本輸出:
[
{
"carpark_info": [
{
"total_lots": "100",
"lot_type": "C",
"lots_available": "72"
}
],
"carpark_number": "SK61",
"update_datetime": "2018-06-16T02:47:59"
},
{
"carpark_info": [
{
"total_lots": "100",
"lot_type": "C",
"lots_available": "72"
}
],
"carpark_number": "SK61",
"update_datetime": "2018-06-16T02:47:59"
}
]
我假設您希望能夠將結果篩選為用戶感興趣的結果? 如果是這樣,這應該可以解決問題:
l1 = [
{
"carpark_info": [
{
"total_lots": "100",
"lot_type": "C",
"lots_available": "72"
}
],
"carpark_number": "SK61",
"update_datetime": "2018-06-16T02:47:59"
},
{
"carpark_info": [
{
"total_lots": "100",
"lot_type": "C",
"lots_available": "72"
}
],
"carpark_number": "SK62",
"update_datetime": "2018-06-16T02:47:59"
}
]
wanted_carpark = 'SK62'
# use get so it doesn't fail on no number
list(filter(lambda x: x.get('carpark_number', None) == wanted_carpark, l1))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.