Мой словарь, как показано ниже. Этот словарь хранится в переменной «api». Я использовал только отрывок из словаря, так как весь словарь очень большой и следует аналогичному формату.
{
"sitedata":[
{
"info":{
"source":"https://thevirustracker.com/"
}}],
"countryitems":[{
"1":{
"ourid":1,
"title":"Afghanistan",
"code":"AF",
"source":"https://thevirustracker.com/afghanistan-coronavirus-information-af",
"total_cases":2335,
"total_recovered":310,
"total_unresolved":0,
"total_deaths":68,
"total_new_cases_today":0,
"total_new_deaths_today":0,
"total_active_cases":1957,
"total_serious_cases":7 },
"2":{
"ourid":2,
"title":"Albania",
"code":"AL",
"source":"https://thevirustracker.com/albania-coronavirus-information-al",
"total_cases":782,
"total_recovered":488,
"total_unresolved":0,
"total_deaths":31,
"total_new_cases_today":0,
"total_new_deaths_today":0,
"total_active_cases":263,
"total_serious_cases":4 },
"3":{
"ourid":3,
"title":"Algeria",
"code":"DZ",
"source":"https://thevirustracker.com/algeria-coronavirus-information-dz",
"total_cases":4154,
"total_recovered":1821,
"total_unresolved":0,
"total_deaths":453,
"total_new_cases_today":0,
"total_new_deaths_today":0,
"total_active_cases":1880,
"total_serious_cases":22 },
"4":{
"ourid":4,
"title":"Angola",
"code":"AO",
"source":"https://thevirustracker.com/angola-coronavirus-information-ao",
"total_cases":30,
"total_recovered":11,
"total_unresolved":0,
"total_deaths":2,
"total_new_cases_today":0,
"total_new_deaths_today":0,
"total_active_cases":17,
"total_serious_cases":0 },
"5":{
"ourid":5,
"title":"Argentina",
"code":"AR",
"source":"https://thevirustracker.com/argentina-coronavirus-information-ar",
"total_cases":4532,
"total_recovered":1292,
"total_unresolved":0,
"total_deaths":225,
"total_new_cases_today":0,
"total_new_deaths_today":0,
"total_active_cases":3015,
"total_serious_cases":157 },
.
.
.
"stat":"ok"
}]}
Я пытаюсь перебрать этот словарь, чтобы выбрать названия стран, используя следующий код:
api_request = requests.get('https://api.thevirustracker.com/free-api?countryTotals=ALL')
api = json.loads(api_request.content)
dict = api['countryitems'][0]
for key in dict:
country = api['countryitems'][0][key]['title']
print(country)
Но я получаю сообщение об ошибке " TypeError: строковые индексы должны быть целыми числами ".
Может кто-нибудь, пожалуйста, посоветуйте, что именно здесь происходит не так. Я использую этот код на Python 3.7 (Tkinter)