python - Python脚本跳过循环
问题描述
我正在尝试遍历一些 json 数据,但这些信息可以在几页上找到。我浏览第一页没有问题,但是它只会跳过下一组。奇怪的是,它在调试模式下会执行得很好。我猜这是处理 json 负载时的时间问题,但我尝试在该代码周围放置睡眠计时器,问题仍然存在。
url = apipath + query + apikey
response = requests.get(url)
data = json.loads(response.text)
for x in data["results"]:
nameList.append(x["name"])
latList.append(x["geometry"]["location"]["lat"])
lonList.append(x["geometry"]["location"]["lng"])
pagetoken = "pagetoken=" + data["next_page_token"]
url = apipath + pagetoken + apikey
response = requests.get(url)
data = json.loads(response.text)
for x in data["results"]:
nameList.append(x["name"])
latList.append(x["geometry"]["location"]["lat"])
lonList.append(x["geometry"]["location"]["lng"])
解决方案
我冒昧地猜测这data["results"]
等于一个None
值,因此调用for x in None:
会导致程序跳过你的 for 循环。您是否尝试在 for 循环上方打印?也许print(data["results"])
在进入你的循环之前尝试确保你想要的数据存在。如果返回,None
那么也许可以尝试print(data)
看看程序正在读取什么。
推荐阅读
- aws-sdk - 在 aws SageMaker 容器中设置环境变量(带上您自己的容器)
- hilbert-curve - 如果希尔伯特曲线四叉树有效,为什么要转换为 S2 单元 ID?
- scala - Scala:将映射的java列表转换为scala映射
- python - 使用列表检查按钮状态(tkinter python)
- javascript - 排序时和排序后边距和对齐方式发生变化
- ballerina - Ballerina github4 api 中的“存储库”类型错误中不存在字段“许可证”
- xslt - 使用 xslt 创建 pdf 时,是否可以有一个书签在其所有子部分中保持突出显示
- android - HorizontalScrollView -> LinearLayout -> TextView — 文本更改后滚动条大小不重置
- python-3.x - Pynetdicom3 传输语法
- javascript - 如何进行平滑的嵌套过渡