Python:KeyError,但键和值都存在

时间:2018-11-29 09:03:33

标签: python json python-3.x api

我正在从opendota API获取信息。我以前已经取出了一个.csv列表,其中包含大约。 160个match_ids,我希望从中获得更多信息,然后将某些值附加到列表中。

使用下面的代码,在遍历列表时,我收到一个KeyError。

for x in finallist:
    matchinfo = requests.get("https://api.opendota.com/api/matches/{}".format(x)).json()["match_id"]
    print(matchinfo)

在特定ID上引发了KeyError,但是如果我使用下面的代码,则不会收到KeyError并看到相关信息。

matchspec = requests.get("https://api.opendota.com/api/matches/4184421518").json()['match_id']
matchspec

因此,4184421518会打印信息,但在循环中,它会停止在该ID处,并在该ID以下停靠几个ID。为什么在for循环中会收到KeyError,但在我特别要求信息时却没有收到?

1 个答案:

答案 0 :(得分:2)

Opendota api的速率限制为60个请求/分钟。确保您没有超出限制,因为api响应似乎是错误。