本文主要是介绍Python3统计json格式文件中各个key对应值出现的频次,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
需求:
现在有一个文件query_demo.json,里面的数据格式示例如下,query字段代表的是用户的提问,现在想统计所有不同query出现的频次。
[{"query": "会议开始提醒弹窗如何开启","intention": "verticalWenda","send_time": "2024-02-01 17:42:58"},{"query": "基于「内搜插件」回答:怎样理解如流?","intention": "verticalWenda","send_time": "2024-02-01 17:39:17"},{"query": "讲一下MA Marketing Automation的内容和经常应用场景","intention": "verticalWenda","send_time": "2024-02-01 17:30:01"},{"query": "基于「内搜插件」回答:怎样理解如流?","intention": "verticalWenda","send_time": "2024-02-01 17:21:24"},{"query": "怎样理解如流?","intention": "verticalWenda","send_time": "2024-02-01 17:20:33"},{"query": "会议开始提醒弹窗如何开启","intention": "verticalWenda","send_time": "2024-02-01 17:42:58"},{"query": "会议开始提醒弹窗如何开启","intention": "verticalWenda","send_time": "2024-02-01 17:42:58"},{"query": "基于「内搜插件」回答:怎样理解如流?","intention": "verticalWenda","send_time": "2024-02-01 17:39:17"}
]
代码实现:
query_frequency_count.py
import json
from collections import Counter# 打开 JSON 文件,注意替换成你自己的文件名路径
with open('query_data.json', 'r') as f:# 读取 JSON 数据data = json.load(f)result = []
# 输出 JSON 数据
for i in data:result.append(i["query"])# 使用Counter记录频次
frequency = Counter(result)
# 对结果进行排序
sorted_frequency = sorted(frequency.items(), key=lambda x: x[1], reverse=True)# 打开一个文本文件以写入模式
with open('example.txt', 'w') as f:for element, count in sorted_frequency:print(element, count)f.write(f"{element}\n")
输出结果:
会议开始提醒弹窗如何开启 3
基于「内搜插件」回答:怎样理解如流? 3
讲一下MA Marketing Automation的内容和经常应用场景 1
怎样理解如流? 1
思路扩展:
这种常规的脚本,基本可以通过大模型一句话实现,对于prompt描述的要求也不是很高,可以参考示例:文心一言
这篇关于Python3统计json格式文件中各个key对应值出现的频次的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!