如何使用Python筛选platform为mac的数据并返回JSON格式的id与name字段
Python 实现字段提取与筛选方案
前置说明
使用Python内置的json模块即可完成需求,无需安装第三方依赖。
完整实现代码
import json # 原始数据 raw_data = [ { "name": "a", "id": "1", "platform": "windows", "total_ram": 12884, "last_ip_address": "123456789", "group_name": "c", "entity": "other", "last_seen": "2019-04-16T19:19:43+10:00" }, { "name": "b", "id": "2", "platform": "mac", "total_ram": 1112884, "last_ip_address": "123456789", "group_name": "d", "entity": "other", "last_seen": "2019-04-16T19:19:43+10:00" } ] # 需求1:提取所有条目的name和id,输出JSON req1_result = [{"name": item["name"], "id": item["id"]} for item in raw_data] print("需求1输出结果:") print(json.dumps(req1_result, indent=2, ensure_ascii=False)) # 需求2:筛选platform为mac的条目,提取id和name输出JSON req2_result = [{"name": item["name"], "id": item["id"]} for item in raw_data if item["platform"] == "mac"] print("\n需求2输出结果:") print(json.dumps(req2_result, indent=2, ensure_ascii=False))
输出结果示例
- 需求1输出:
[ { "name": "a", "id": "1" }, { "name": "b", "id": "2" } ]
- 需求2输出:
[ { "name": "b", "id": "2" } ]
补充说明
如果原始数据存储在本地JSON文件中,可使用json.load()方法先读取文件内容再执行上述逻辑:
# 从本地JSON文件读取数据示例 with open("data.json", "r", encoding="utf-8") as f: raw_data = json.load(f)
内容的提问来源于stack exchange,提问作者TechGuy
相关产品推荐
相关产品推荐

