我正在尝试遍历一些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"])
答案 0 :(得分:0)
我敢猜测data["results"]
等于一个None
值,因此调用for x in None:
将导致程序跳过for循环。您是否尝试过将打印内容置于for循环上方?也许在进入循环之前尝试print(data["results"])
,以确保所需的数据存在。如果返回None
,则可以尝试print(data)
,看看程序正在读取什么。
答案 1 :(得分:0)
它最终确实是一个计时问题。我在第二个请求之前放置了2秒的计时器,现在它将可以很好地加载数据。我想Python无法跟上。