试图在JSON中迭代数据

问题描述 投票:1回答:1

我有一个REST API用于所有警察报告,我正在尝试迭代GET请求的结果。

import requests
import json
import time

query = "http://gismaps.wichita.gov/agsweb/rest/services/COWGIS/WPD_Public/MapServer/0/query?where=1%3D1&outFields=CATEGORY,ADDRESS,PBADDRESS,CASEADDRESS,CITY,STARTDATE,DOW,INCMONTH,MONTHHS,OFFENSE_CO,OFFENSE_DE,PLACE_DESC,CLASS_TYPE,Shape,INCREPORT,STARTDATET,STARTTIME&outSR=4326&f=json"
query_value = requests.get(query)
crime = query_value.json()

def search(num):
    for i in range(1, num):
        print(crime["features"][i]["attributes"]["CATEGORY"])


search(10)

此代码返回此数据:

AGG_ASSAULT DISORDERLY VANDALISM DISORDERLY DRUGS DRUGS OTHERTRAF_VIO OTHERTRAF_VIO LARCENY

但是当我运行这段代码时:

import requests
import json
import time

query = "http://gismaps.wichita.gov/agsweb/rest/services/COWGIS/WPD_Public/MapServer/0/query?where=1%3D1&outFields=CATEGORY,ADDRESS,PBADDRESS,CASEADDRESS,CITY,STARTDATE,DOW,INCMONTH,MONTHHS,OFFENSE_CO,OFFENSE_DE,PLACE_DESC,CLASS_TYPE,Shape,INCREPORT,STARTDATET,STARTTIME&outSR=4326&f=json"
query_value = requests.get(query)
crime = query_value.json()

def search(num):
    amt = 0
    for i in range(1, num):
        #print(crime["features"][i]["attributes"]["CATEGORY"])
        value = crime["features"][i]["attributes"]["CATEGORY"]
        print(str(value))
        if str(value) == "DRUGS":
            amt + 1
    print(amt, "matches")


search(10)

它返回“0匹配”,即使它清楚地输出有2个报告具有值“DRUGS”,并且它返回我0.任何帮助将不胜感激

json python-3.x for-loop
1个回答
0
投票

线amt + 1没有做太多。要增加计数器,请使用amt += 1

© www.soinside.com 2019 - 2024. All rights reserved.