如何解决从 JSON 创建字典
我有一个 JSON 文件,如下所示。如何使用列表推导为 gas、pm1、pm10 等创建单独的列表?
{
'e00fce6866b13164840961dcdata': {
'-MVId33W0ApTBDg1YtzV': {
'gas': 52.7,'pm1': 0.1,'pm10': 0.1,'pm25': 0.1,'pr': 441.6,'rh': 14.6,'ta': 25.5,'ts': '2021-03-08T21:00:03Z'
},'-MVIfE3Y2zWYzgrFefyr': {
'gas': 52.7,'pm10': 0.2,'pm25': 0.2,'pr': 451.8,'rh': 14.1,'ta': 25,'ts': '2021-03-08T21:10:02Z'
},...
}
}
解决方法
使用模块“json”和函数加载打开一个json文件内容到字典:
from json import loads
path = "my/path/to.json"
file = open(path,"r")
content = file.read().replace("'",'"')
dict1 = loads(content )
print(dictionnary)
然后你可以使用你的字典使用列表的 dist 来存储信息
datas = {}
for i1,key1 in enumerate(dict1):
print("key1: " + str(key1))
dict2 = dict1[key1]
for i2,key2 in enumerate(dict2):
print("key2: " + str(key2))
dict3 = dict2[key2]
for i3,key3 in enumerate(dict3):
print("key3: " + str(key3))
value = dict3[key3]
if not key3 in datas:
datas[key3] = [value]
else:
datas[key3].append(value)
print("datas: " + str(datas))
结果如下:
datas: {'gas': [52.7,52.7],'pm1': [0.1,0.1],'pm10': [0.1,0.2],'pm25': [0.1,'pr': [441.6,451.8],'rh': [14.6,14.1],'ta': [25.5,25],'ts': ['2021-03-08T21:00:03Z','2021-03-08T21:10:02Z']}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。