You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于JSON数据统计指定文档访问国家并绘制直方图的实现咨询

国家访问量统计及直方图关联实现方案

1. 核心实现逻辑

  • 先遍历所有读取完成的访问记录,筛选出subject_doc_id和用户输入目标ID一致的条目
  • 对筛选后的条目,统计visitor_country字段的出现次数
  • 将统计得到的国家列表、对应访问次数列表传入你已开发完成的直方图绘制函数即可

2. 代码示例

假设你已经完成了JSON数据读取,所有记录存储在列表变量all_visit_records中,用户输入的目标文档ID存储在变量target_doc_id中,Python实现代码如下:

from collections import Counter

# 筛选目标文档的所有访问记录
target_records = [
    item for item in all_visit_records
    if item.get("subject_doc_id") == target_doc_id
]

# 统计不同国家的访问次数,自动跳过缺失国家字段的脏数据
country_visit_cnt = Counter(
    item["visitor_country"] for item in target_records
    if "visitor_country" in item
)

# 转换为直方图绘制所需的输入格式:x轴为国家编码,y轴为对应访问次数
x_data = list(country_visit_cnt.keys())
y_data = list(country_visit_cnt.values())

# 调用你已经写好的直方图绘制方法即可,示例调用:
# your_histogram_func(x=x_data, y=y_data, x_label="国家", y_label="访问次数", title="目标文档各国访问量分布")

3. 非标准JSON格式兼容处理

你提供的样例数据是多个JSON对象直接拼接、没有外层数组包裹的非标准格式,如果还没完成这部分解析可以参考以下代码:

import json
import re

# 读取原始数据文件
with open("你的数据文件路径", "r", encoding="utf-8") as f:
    raw_text = f.read()
# 正则匹配所有独立的JSON对象
json_items = re.findall(r"\{[\s\S]*?\}", raw_text)
# 解析为Python字典列表
all_visit_records = [json.loads(item) for item in json_items]

内容的提问来源于stack exchange,提问作者user17534067

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 21:54:03