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

文本文件条目计数问题:含ADALIMUMAB的行仅计为一个条目

解决统计包含指定术语的行数问题

嘿,我懂你的困扰了——你需要统计包含ADALIMUMAB的行数(条目数),而不是这个术语在文件里的总出现次数,对吧?你之前的代码用了data.count("ADALIMUMAB"),这个方法会把每一个出现的ADALIMUMAB都算一次,比如示例里的第二行有两个ADALIMUMAB,就会被计为2,但你要的是只要行里存在这个术语,就只算1个条目。

正确的解决方案:逐行检查计数

我们可以逐行读取文件,对每一行判断是否包含目标术语,只要包含就给计数器加1,这样就完全符合你的规则了。代码示例如下:

# 初始化计数器
adalimumab_entries = 0

# 使用with语句自动管理文件(推荐写法,无需手动关闭)
with open("DRUG14Q3.txt", "r") as drug_file:
    # 逐行遍历文件
    for line in drug_file:
        # 检查当前行是否包含ADALIMUMAB(大小写敏感,如需忽略可以调整)
        if "ADALIMUMAB" in line:
            adalimumab_entries += 1

print(f"符合条件的条目数:{adalimumab_entries}")

为什么这个方法有效?

  • 精准匹配规则:不管一行里ADALIMUMAB出现多少次,只要"ADALIMUMAB" in line为True,计数器就只加1,完美实现你要的“一行一计数”逻辑。
  • 内存友好:如果你的文件很大,read()会把整个文件加载到内存里,而逐行遍历只会在内存中保留当前行,避免内存占用过高。
  • 安全可靠:with语句会自动帮你关闭文件,不用手动调用close(),避免忘记关闭文件导致的资源泄漏问题。

额外小提示

如果需要忽略大小写(比如行里出现adalimumab或者Adalimumab也需要统计),可以把判断条件改成:

if "ADALIMUMAB" in line.upper():

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 15:57:39