遍历JSON文件以查看Python中是否存在数字“2017”

2024-04-27 10:40:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将一个JSON文件放入一个数组中,但前提是键issue_date的值包含数字2017。这是来自这个API:https://data.cityofnewyork.us/resource/ati4-9cgt.json,它有停车罚单。你知道吗

我只希望数组中有2017年的日期,这样以后我就可以把它分成几个月。你知道吗

我该怎么做?你知道吗

谢谢!而且,我是大学一年级的学生,所以我的知识非常有限。如果你用的东西比较复杂,你介意解释一下吗?这样我就可以理解代码的作用/含义了?谢谢!你知道吗


Tags: 文件httpsapijsondatadate数字issue
2条回答

这是学习如何解析JSON的一个非常好的例子。你知道吗

您可以参考此链接获得一些帮助:json guide

首先要导入json库:

import json

然后必须下载链接的json文件,并将其存储在脚本所在的目录中。使用此选项将文件加载到程序中:

with open('jsonFileName.json', 'r') as file:
    json_data = json.loads(file.read())

阅读文件处理here

现在来看看json并得到您需要的东西。您只想获取发布日期为2017年的记录。您需要遍历保存所有json数据的整个json_data变量。你知道吗

for i in data:

因为这是一个简单的json文件,所以查找issue_date很简单。尝试以下操作以获得所有发行日期:

print(i["issue_date"])

这将打印json文件中的所有问题日期。但是,您只需要2017,因此必须执行一些字符串操作。在本例中,您希望检查发行日期的前四个字符,或者直到出现连字符-。你可以用字符串。拆分()此处的函数。你知道吗

if i["issue_date"].split("-")[0] == "2017"

[0]在出现第一个连字符-之前获取任何内容。然后我们检查在-之前的值是否等于“2017”。你知道吗

现在,如果您想要完整的记录,只需在i之后使用if condition就可以对它们执行任何操作。你知道吗

你的JSON看起来像一个数组,里面有一堆字典。 将JSON加载到数组中。我们把这个数组称为loadedJSON

停车位2017=[]

for x in loadedJSON:    # x will be a dictionary of some parking ticket
     if x["issue-date"].startswith('2017'):
          parkingTickets2017.append(x)

相关问题 更多 >