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

如何用Python统计JSON文件中特定标签的出现次数?

统计JSON文件特定标签数量的问题修复

原代码可正常遍历所有标签并统计总数,但改写成统计指定标签的函数后始终返回0,问题出在以下几个点:

错误函数的问题分析

  1. 参数名被覆盖:函数参数word和内部循环变量word重名,导致传入的目标标签参数完全失效,根本没被用到。
  2. 类型不匹配的判断:if word in word_list:里的word是原数据中的字典对象(比如{"tag": "energytwitter"}),但word_list存的是字符串类型的标签内容,两者永远不相等,计数永远不会增加。
  3. 冗余重复统计:每次循环都把hashtags列表里的所有元素重新遍历添加到word_list,会重复统计旧标签,逻辑混乱。

修正后的函数

简化逻辑,直接遍历每个数据项,提取标签后和目标标签对比,匹配就计数:

def count_tags(target_tag):
    count = 0
    for item in data:
        # 检查当前项是否包含hashtags字段
        if "hashtags" in item["entities"]:
            # 遍历当前项的所有hashtag(原代码只取第一个,这里改为遍历所有更严谨)
            for hashtag in item["entities"]["hashtags"]:
                tag_content = hashtag["tag"]
                if tag_content == target_tag:
                    count += 1
    return count

补充说明

  • 原代码仅提取每个数据项的第一个hashtag,若数据项包含多个hashtag会遗漏,修正后的代码遍历所有hashtag,统计更准确。
  • 若需要忽略大小写统计,可将判断改为tag_content.lower() == target_tag.lower()。

测试示例

统计energytwitter的数量:

print(count_tags("energytwitter"))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 03:15:58