gpt4 book ai didi

python - 操作 JSON 类型文件的有效方法

转载 作者:太空宇宙 更新时间:2023-11-03 16:25:08 25 4
gpt4 key购买 nike

所以,我有一个 JSON 文件,该文件很大并且还在不断增加。因此,我在这里展示一个更简单的版本。

{
"b0:47:bf:af:c1:42":
{
"No. of visits": 10, "cities":
{
"Mumbai": {"count": 5,"last_visited": "5/22/2016"},
"Kolkata": {"count": 2,"last_visited": "5/22/2016"},
"Amritsar":{"count": 3,"last_visited": "5/22/2016"}
}
},
"c0:ee:fb:71:be:0d":
{
"No. of visits": 24, "cities":
{
"Mumbai": {"count": 2,"last_visited": "5/22/2016"},
"Kolkata": {"count": 20,"last_visited": "5/22/2016"},
"Amritsar":{"count": 2,"last_visited": "5/22/2016"}
}
}
}

所以,基本上它包含有关 id 的信息,该 id 基本上是 mac_address b0:47:bf:af:c1:42 并与一个用户相关。所以,我想要的是对 JSON 进行操作并将输出存储在数据帧类型的结构中。

就像我想知道用户的最大访问城市以及他/她对 max_visited 城市的总访问量的百分比。

所以,我想要上述数据的输出。

mac_address             max_vis city        %visit to max_vis city
b0:47:bf:af:c1:42 Mumbai 50%
k0:k0:k0:k0:k0:k0 Kolkata 83%

应该使用什么样的工具来简单高效地对 JSON 进行这种操作。我听说 MongoDB 可以用于此目的,但我对此一无所知。早些时候我尝试在 python 中执行此操作,是否有一种有效的方法在 python 中执行此操作?因此,如果有人可以建议我应该使用什么并提供一些基础知识,那将非常有帮助。谢谢

最佳答案

你这样实现。它实现了基本的字典操作。这个概念是创建一个包含访问次数和城市名称的列表列表。它使用 key itemgetter 进行排序。从那里获取访​​问量最大的城市,并通过简单的数学运算获得百分比。

from operator import itemgetter
for key,value in main_dict.items():
sorted_list = sorted([[val['count'],key1] for key1,val in value['cities'].items()],key=itemgetter(0))[-1]
print [key,sorted_list[1],str(round(float(sorted_list[0])/float(value['No. of visits'])*100,2))+' %']

结果

['b0:47:bf:af:c1:42', 'Mumbai', '50.0 %']
['c0:ee:fb:71:be:0d', 'Kolkata', '83.33 %']

关于python - 操作 JSON 类型文件的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38050199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com