我正在尝试从https://fantasy.premierleague.com/drf/event/19/live 上的 JSON 文件中获取数据。但是,每当我遍历接收到的数据时,我都会遇到问题。下面代码中的第一个循环应该在 中附加值data["elements"]["1"]["stats"]["goals_scored"],但是每当我运行下面的代码时,我都会收到错误字符串索引必须是整数。每当我data["elements"]["number"]["stats"]["goals_scored"]直接引用时,它都会返回正确的数字。import jsonimport requestsdef goalCalculator(): data=requests.get("https://fantasy.premierleague.com/drf/event/19/live").json() list1=[] for i in data["elements"]: list1.append(i["stats"]["goals_scored"]) return list1goalCalculator()我已经映射了 JSON 文件(如下),但我看不出哪里出错了。我的代码不应该工作正常吗?"elements":{ "1":{ "stats":{ "yellow_cards":0, "own_goals":0, "creativity":0.0, "goals_conceded":0, "bonus":0, "red_cards":0, "saves":0, "influence":0.0, "bps":0, "clean_sheets":0, "assists":0, "ict_index":0.0, "goals_scored":0, "threat":0.0, "penalties_missed":0, "total_points":0, "penalties_saved":0, "in_dreamteam":false, "minutes":0 } }, "2":{etc...
2 回答
梦里花落0921
TA贡献1772条经验 获得超6个赞
代替
for i in data["elements"]:
list1.append(i["stats"]["goals_scored"])
用
for i in data["elements"]:
list1.append(data["elements"][i]["stats"]["goals_scored"])
在i循环中是关键data["elements"]的字典,而不是因为你是假设完整的元素。在您的示例中它只是“1”,因此您无法对其进行索引。您将需要获得完整的元素data["elements"][i]
添加回答
举报
0/150
提交
取消