![](/img/trans.png)
[英]How to declare a form field in Django, if it has the same name as a Python keyword?
[英]How to access a field that is always in the same position, but has a different name?
我正在玩一些 JSON 格式的足球比赛数据,通过以下方式保存在变量“matches”中
with open('path') as json_data:
matches = json.load(json_data)
以下是第 1 场比赛的数据摘录(通过“matches[1]”获得:
{
"status": "Played",
"roundId": 4405517,
"gameweek": 34,
"teamsData": {
"2482": {
"scoreET": 0,
"coachId": 272299,
"side": "home",
"teamId": 2482,
"score": 3,
"scoreP": 0,
"hasFormation": 1,
"formation": {
"bench": [
字段“2482”的名称是参加比赛的两支球队之一的 ID(另一支球队稍后会出现,但即使提供一场比赛的整个比赛数据也会使这篇文章太长)。 数据是这样进行的(306 场比赛,每场 2 支球队),即场总是在数据中的同一个 position 中。 但是,由于该字段的名称总是不同的,因此我很难在没有首先查找团队 ID 的情况下访问它,例如第 20 场比赛
match[20]['teamsData'][1]
不起作用(“KeyError:1”)。
谁能帮我吗?
您可以将字典视为索引,在您的情况下,您可以使用更方便的值重新索引数据。 如果“side”总是“home”或“away”,您可以使用该已知值而不是变量 team id 值。
在此示例中,“teamsData”被重新索引的字典替换。
for match in matches:
match["teamsData"] = {value["side"]:value for value in match["teamsData"].values()}
matches[20]["teamData"]["home"]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.