如何统计Discord注册机器人JSON文件中存储的数据量及各类数据数量?
实现Discord注册机器人的JSON数据统计功能
首先要注意你提供的JSON片段存在问题:"member-discord-id"作为重复键,在JSON解析时会被后面的条目覆盖,正确的结构应该是将用户ID作为唯一键,比如:
{ "database": { "123456789": "test", "987654321": "test23" } }
下面基于修正后的JSON结构实现两个功能(以Python为例):
一、查看JSON文件中存储的数据总量
数据总量就是database对象下的键值对数量,直接获取字典长度即可:
import json def get_total_records(): with open("data.json", "r", encoding="utf-8") as f: data = json.load(f) return len(data["database"]) # 调用示例 total = get_total_records() print(f"总记录数:{total}")
二、统计各类记录数据的数量
如果“各类记录”指重复用户名的出现次数,可以通过统计值的出现频次实现:
from collections import Counter import json def count_record_types(): with open("data.json", "r", encoding="utf-8") as f: data = json.load(f) usernames = list(data["database"].values()) count_result = Counter(usernames) return count_result # 调用示例 type_counts = count_record_types() for username, count in type_counts.items(): print(f"用户名「{username}」出现次数:{count}")
如果你的“各类记录”有其他定义(比如按用户ID前缀分类等),只需修改count_record_types函数中对值的处理逻辑即可。
内容的提问来源于stack exchange,提问作者Account
相关产品推荐
相关产品推荐

