#やりたいこと
openweatherAPIからJson形式でデータを取得して、その中から必要な部分だけを取得したいです。
聞きたいこと
現在Jsonデータを取得することはできたのですが、そこから必要な部分だけを取得する方法が分からないため、教えていただきたいです。
** 現在のソースコード **
python
1import tkinter 2import requests 3import json 4 5#天気APIにアクセス 6API_KEY = "xxxx" 7city_name = "Tokyo" 8api = "http://api.openweathermap.org/data/2.5/weather?units=metric&q={city}&APPID={key}&lang=ja" 9url = api.format(city = city_name, key = API_KEY) 10 11#requestsでAPIからjsonデータを取得 12req = requests.get(url) 13 14def getWeatherReport(): 15 #取得したデータをjsonにパース 16 data= req.json() 17 weatherDatas = data["weather"] 18 print(weatherDatas) 19 20getWeatherReport()
上記コードを実行すると、weatherDatas
に[{'id': 803, 'main': 'Clouds', 'description': '曇りがち', 'icon': '04n'}]
という値が入ります。
自分が欲しいデータは、'曇りがち'
という部分なのですが、
weatherDatas = data["weather"]["description"]
とやると、list indices must be integers or slices, not str
となり取得できません。
上記のデータを取得するにはどのようすればよいでしょうか。
可能であれば型変換を行わずにjsonデータから情報を取得する方法を教えていただければ幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/25 14:08