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

如何使用R校验实验鼠笼号是否同时存在于3份记录清单中

多份实验鼠笼号记录匹配分类方法

前置准备

先统一处理三份原始数据,避免格式差异导致匹配失效:

  • 分别从学校计费官网、个人Excel、实验室管理网站导出笼号数据,单独提取笼号所在列
  • 统一所有笼号格式:去除首尾空格、统一字母大小写、删除多余特殊字符,单份记录内先做去重处理,最终导出为单列文本/Excel列格式

方法1:用Python快速分类(代码量少,准确率高)

直接用集合运算实现多集合的交集、差集计算,代码示例:

# 读取三份处理好的笼号数据,转为集合自动去重
with open('school_cage.txt', 'r', encoding='utf-8') as f:
    school_set = set([line.strip() for line in f if line.strip()])
with open('personal_cage.txt', 'r', encoding='utf-8') as f:
    personal_set = set([line.strip() for line in f if line.strip()])
with open('lab_cage.txt', 'r', encoding='utf-8') as f:
    lab_set = set([line.strip() for line in f if line.strip()])

# 各分类结果计算
all_three = school_set & personal_set & lab_set # 三份均存在
school_personal_only = (school_set & personal_set) - lab_set # 仅学校+个人
school_lab_only = (school_set & lab_set) - personal_set # 仅学校+实验室
personal_lab_only = (personal_set & lab_set) - school_set # 仅个人+实验室
school_only = school_set - personal_set - lab_set # 仅学校
personal_only = personal_set - school_set - lab_set # 仅个人
lab_only = lab_set - school_set - personal_set # 仅实验室

# 可直接打印或写入文件输出结果
print("三份均存在的笼号:", all_three)
print("仅存在于两份的笼号-学校+个人:", school_personal_only)
print("仅存在于两份的笼号-学校+实验室:", school_lab_only)
print("仅存在于两份的笼号-个人+实验室:", personal_lab_only)
print("仅存在于学校的笼号:", school_only)
print("仅存在于个人Excel的笼号:", personal_only)
print("仅存在于实验室的笼号:", lab_only)

方法2:用Excel函数实现(无需代码基础)

把三份去重后的笼号分别放在同一个Excel文件的A、B、C三列:

  1. 把所有出现过的笼号去重后粘贴到D列
  2. E1单元格输入函数=COUNTIF(A:A,D1)+COUNTIF(B:B,D1)+COUNTIF(C:C,D1),下拉填充整列
  3. 按E列值筛选即可:
    • E值为3:对应笼号在三份记录中都存在
    • E值为2:对应笼号仅在两份记录中存在
    • E值为1:对应笼号仅在一份记录中存在

内容的提问来源于stack exchange,提问作者Ahmad El-Hamamy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:15:02