如何用Python处理JSON文件,仅保留每个元素的4个指定字段?
修改代码保留指定字段
原代码中print(json_object['id']['public_name']['lng']['lat'])存在错误,因为id是整数类型,无法通过键名继续访问。要实现保留每个元素的id、public_name、lng、lat四个字段,你可以遍历JSON列表中的每个对象,创建只包含目标字段的新字典:
基础遍历实现
import json with open('ua_locations.json', 'r', encoding="utf-8") as user_file: file_contents = user_file.read() locations = json.loads(file_contents) # 遍历每个元素,筛选保留指定字段 filtered_locations = [] for loc in locations: filtered_item = { 'id': loc['id'], 'public_name': loc['public_name'], 'lng': loc['lng'], 'lat': loc['lat'] } filtered_locations.append(filtered_item) # 输出处理后的结果 for item in filtered_locations: print(item)
简洁列表推导式实现
import json with open('ua_locations.json', 'r', encoding="utf-8") as user_file: locations = json.load(user_file) # 用列表推导式快速生成筛选后的列表 filtered_locations = [ { 'id': loc['id'], 'public_name': loc['public_name'], 'lng': loc['lng'], 'lat': loc['lat'] } for loc in locations ] # 查看结果 print(filtered_locations)
处理完成后,filtered_locations就是仅包含每个元素指定四个字段的新列表,可直接用于后续业务逻辑或保存为新文件。
内容的提问来源于stack exchange,提问作者O. Martynenko aka Skywalker
相关产品推荐
相关产品推荐

