我想解决以下问题。我有变量数据\u json,其中包含以下结构的json数据
data_json =
"api": {"results": 402,
"fixtures":
[{"fixture_id": 127807,
"league_id": 297,
"round": "Clausura - Semi-finals",
"statusShort": "FT",
"elapsed": 90,
"venue": "Estadio Universitario de N)",
"referee": null,
"homeTeam": {"team_id": 2279,
"team_name": "Tigres UANL",
"logo": "url"},
"awayTeam": {"team_id": 2282,
"team_name": "Monterrey",
"logo": "url1"},
"goalsHomeTeam": 1,
"goalsAwayTeam": 0,
"score": {"halftime": "1-0",
"fulltime": "1-0",
"extratime": null,
"penalty": null}},
....... another fixture-ids
}
}
the same piece of data in another fixture_id
我需要提取每个键:值对并将提取的值保存到变量。我需要以下输出
var fixture_id = fixture_id[value]
var league_id = league_id[value]
var round = round[value]
var statusshort = statusShort[value]
var elapsed = elapsed[value]
var venue = venue[value]
var referee = referee[value]
var home_team_id = homeTeam.team_id[value]
var home_team_name = homeTeam.team_name[value]
var home_team_logo = homeTeam.logo[value]
##the same for awayTeam dictionary
我尝试通过以下代码在json上循环
data_json_looping_on = data_json["api"]["fixtures"]
for id in data_json_looping_on:
fixture_id = id["fixture_id"]
league_id = id["league_id"]
the same logic for each
simple key value pairs. But when
looping go up on dictionariy i tried
following loop
for item in id["homeTeam"]
home_team_id = item["team_id"]
这是上面代码的回溯
------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-8-958a38c41236> in
<module> 18 venue = item["venue"]
19 referee = item["referee"] ---> 20
for item in id["homeTeam"]: 21
home_team_id = item["team_id"] 22
print(home_team_id) TypeError:
string indices must be integers
------------------------------------------------------
我尝试了另一种方法
data_json_looping_on = data_json["api"]["fixtures"]
for id in data_json_looping_on:
fixture_id = id["fixture_id"]
league_id = id["league_id"]
#the same for logic for each
simple key value pairs.
But when go up on
home_team_id = id["homeTeam"]["team_id"]
print(home_team_id)
Python出现以下错误
------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-5-1fe42572d5ae> in
<module> 18 venue = item["venue"]
19 referee = item["referee"] ---> 20
home_team_id = id["homeTeam"]
["team_id"] 21 print(home_team_id)
TypeError: string indices must be integers
如何提取homeTeam和awayTeam字典的值?如果你有另一个提取的逻辑给我你的建议
这是我的真实密码
date_fixt = open("../forecast/endpoints/date_fixtures.txt", "r")
date_fixt_json = json.load(date_fixt)
data_json = date_fixt_json["api"]["fixtures"]
for item in data_json:
fixture_id = item["fixture_id"]
league_id = item["league_id"]
event_date = item["event_date"]
event_timestamp = item["event_timestamp"]
firstHalfStart = item["firstHalfStart"]
secondHalfStart = item["secondHalfStart"]
round_count = item["round"]
status = item["status"]
statusShort = item["statusShort"]
elapsed = item["elapsed"]
venue = item["venue"]
referee = item["referee"]
for item in id["homeTeam"]:
home_team_id = item["team_id"]
print(home_team_id)
id["homeTeam"]
和id["awayTeam"]
不是列表(它们周围没有方括号),它们只是单个字典。所以你不需要绕过去。你知道吗如果您的json认为“homeTeam”引用的是字符串而不是字典,那么它的格式可能不正确。你知道吗
尝试:
第二个问题可能是它在以下方面失败了:
因为“fixtures”引用了一个列表。所以你也应该试试:
相关问题 更多 >
编程相关推荐