微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 JSON 创建字典

如何解决从 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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?