python - Python:KeyError,但键和值都存在
问题描述
我正在从 opendota API 获取信息。我之前取出了一个 .csv 列表,其中包含大约 .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)
KeyError 是在某个 ID 上引发的,但如果我使用下面的代码,我不会得到 KeyError 并且我会看到信息。
matchspec = requests.get("https://api.opendota.com/api/matches/4184421518").json()['match_id']
matchspec
所以通过这个, 4184421518 打印信息,但在循环中它停止在那个 ID 和下面的几个 ID。为什么我在 for 循环中收到 KeyError,但在我特别询问信息时却没有?
解决方案
Opendota api 的速率限制为 60 个请求/分钟。确保你没有超过这个,因为这似乎是 api 响应的错误。
推荐阅读
- html - ng-repeat 数据闪烁然后消失
- android - android.support.design.button.MaterialButton 抛出 InflateException
- python - 如何在 Python 中将值数组插入符号函数
- pointers - Frama-c 无法证明 `char*` 以外类型的缓冲区指针的有效性
- android - 在 React Native For Android 中添加文档扫描仪
- javascript - 从 firebase 获取多个数据并将其存储在表中
- php - 如何加密来自包括服务器在内的所有人的数据
- linux - Bash脚本复制文件夹和内容而没有一个文件
- database - Oracle中如何检查表碎片
- macos - macOS 上没有 webrtcdsp