JSON数据-在Python中如何仅在键=可用的情况下打印结果

Tmc家族

首先,这是我的第一篇文章,并且我是一个菜鸟,尝试学习一些Python,因为我想查看#可用的露营地,并且希望编写自己的程序,然后使用一些付费网站。下面是我的代码#,它打印以下显示的结果。我只想打印“可用性”:如果显示“可用”而不是“保留”。

谢谢高级

import json
import urllib.request
import time
    
# download raw json object
url = "https://www.recreation.gov/api/camps/availability/campground/233116/month?start_date=2020-09-01T00%3A00%3A00.000Z"
data = urllib.request.urlopen(url).read().decode()
    
# parse json object
obj = json.loads(data)

print(json.dumps(obj, indent=1))




{
 "campsites": {
  "90041": {
   "availabilities": {
    "2020-09-01T00:00:00Z": "Reserved",
    "2020-09-02T00:00:00Z": "Reserved",
    "2020-09-03T00:00:00Z": "Reserved",
    "2020-09-04T00:00:00Z": "Reserved",
    "2020-09-05T00:00:00Z": "Reserved",
    "2020-09-06T00:00:00Z": "Reserved",
    "2020-09-07T00:00:00Z": "Reserved",
    "2020-09-08T00:00:00Z": "Reserved",
    "2020-09-09T00:00:00Z": "Reserved",
    "2020-09-10T00:00:00Z": "Reserved",
    "2020-09-11T00:00:00Z": "Reserved",
    "2020-09-12T00:00:00Z": "Reserved",
    "2020-09-13T00:00:00Z": "Reserved",
    "2020-09-14T00:00:00Z": "Reserved",
    "2020-09-15T00:00:00Z": "Reserved",
    "2020-09-16T00:00:00Z": "Reserved",
    "2020-09-17T00:00:00Z": "Reserved",
    "2020-09-18T00:00:00Z": "Reserved",
    "2020-09-19T00:00:00Z": "Reserved",
    "2020-09-20T00:00:00Z": "Reserved",
    "2020-09-21T00:00:00Z": "Reserved",
    "2020-09-22T00:00:00Z": "Reserved",
    "2020-09-23T00:00:00Z": "Reserved",
    "2020-09-24T00:00:00Z": "Reserved",
    "2020-09-25T00:00:00Z": "Reserved",
    "2020-09-26T00:00:00Z": "Reserved",
    "2020-09-27T00:00:00Z": "Reserved",
    "2020-09-28T00:00:00Z": "Reserved",
    "2020-09-29T00:00:00Z": "Reserved",
    "2020-09-30T00:00:00Z": "Reserved"
   },
   "campsite_id": "90041",
   "campsite_reserve_type": "Site-Specific",
   "campsite_type": "STANDARD NONELECTRIC",
   "capacity_rating": "",
   "loop": "KIRK CREEK CAMPGROUND",
   "max_num_people": 8,
   "min_num_people": 1,
   "quantities": null,
   "site": "030",
   "type_of_use": "Overnight"
  },
大肠菌群

您在这里有几种可能。我认为一个简单的解决方案是obj通过简单地删除not的条目来对数据进行处理"Available"这是一个为您提供相同数据,仅过滤可用性的解决方案:

from copy import deepcopy
result = deepcopy(obj)

for campsite, info in obj["campsites"].items():
    for day, availability in info["availabilities"].items():
        if availability != "Available":
            del result["campsites"][campsite]["availabilities"][day]

print(json.dumps(result, indent=1))

如果您需要其他数据结构,我希望您有所了解。

迭代对象时进行修改可能会导致一些麻烦。这就是为什么我为您创建了一个深拷贝(没有引用)的原因obj当然,您必须转储result而不是obj

对于您给定的数据,我再也找不到可用的日期。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在没有键和值的情况下使用 python 打印 JSON 数据

寻找json键以在python中不带括号的情况下打印其内容

我如何在Java8中创建Json数组,并且仅在设置值的情况下才打印json?

如何在不知道Ract Native中的键的情况下遍历json数组并打印值?

如何在不打印数组的情况下打印模型数据?

在这种情况下如何访问特定的JSON数据?

SQL如何在没有可用数据的情况下强制显示0行?

在python中给定搜索的情况下,获取结果更快。字典或熊猫数据框的列表?

SPARQL 如何在没有数据方案的情况下打印数据

我需要帮助弄清楚如何仅在标识符键匹配的情况下更改熊猫数据框中的值

如何在不使用 C# 中创建类的情况下解析此 json 结果

默认情况下如何打印熊猫数据框的前n行?

如何在不更改全局打印选项的情况下显示数据框的所有列?

如何在没有索引的情况下将 Pandas 数据帧打印到 Latex?

如何在没有数据表的情况下打印页面

如何在不显示任何 if else 语句的情况下打印数组数据

在spark RDD中没有数组数组的情况下正常打印数据

仅在某些情况下改变 R 中的数据帧

如何在等待结果的情况下通过 cURL 获取数据?

在向量的情况下如何将结果组合为数据框

仅在 5 天内发生的情况下如何从数据框中删除重复项

如何在不执行功能的情况下停止打印回显结果

如何在用户输入标签的情况下打印随机结果?

在R中不带方括号的情况下打印结果

如何在不循环的情况下将python JSON列表转换为数据框列

如何在不使用 $.each 的情况下解析 jQuery 中的特定 JSON 数据

如何在不使用 json 的情况下解析 Qt C++ 中的数据?

我如何在Flutter中没有密钥的情况下获取JSON数据?

java-如何在不使用JDBC的情况下从数据库中检索结果集?