Python中从JSON文件获取指定ID完整数据记录的问题
解决指定设备ID对应的完整键值对输出问题
问题原因
你当前代码里的for i in data['15689']是在遍历字典的键,这是Python字典遍历的默认行为,所以只会输出键名,不会显示对应的值。
解决方案
以下是两种实现完整键值对输出的方法:
方法1:直接打印完整数据条目
如果不需要拆分键值,直接输出指定ID的全部内容,去掉循环直接打印目标字典即可:
import json # 用with语句自动管理文件,无需手动关闭 with open('C:/Users/user/Desktop/test.json', 'r', encoding='utf-8') as f: data = json.load(f) # 直接打印指定ID的完整数据 print(data['15689'])
方法2:逐个输出键值对
如果需要逐行显示每个键和对应的值,使用字典的items()方法遍历键值对:
import json with open('C:/Users/user/Desktop/test.json', 'r', encoding='utf-8') as f: data = json.load(f) # 遍历指定ID字典的键值对 for key, value in data['15689'].items(): print(f"{key}: {value}")
补充优化说明
- 使用
with语句打开文件,代码块结束后会自动关闭文件,避免资源泄漏。 json.load()的大部分参数可省略,默认值就能满足需求。- 打开文件时指定编码(如
encoding='utf-8'),可避免编码异常问题。
内容的提问来源于stack exchange,提问作者Sven Bernhagen
相关产品推荐
相关产品推荐

