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

绵羊耳标查询程序开发求助:实现特定耳标检索功能

实现绵羊耳标特定编号检索功能方案

嘿,很高兴你已经搞定了从自制txt文件导入耳标数据这一步!针对你需要的特定耳标编号检索需求,我来给你分享具体的实现思路和代码示例,完全适配你提到的import csv相关场景~

核心思路

把导入的耳标数据存储为**字典(Dictionary)**是最优选择,因为字典的键值对查找效率极高,比遍历列表快得多,特别适合个人日常快速查询的场景。

代码实现步骤

1. 加载耳标数据到字典

假设你的txt文件是用逗号分隔的格式(比如每行内容:主耳标编号,羊羔耳标,绵羊品种,年龄),我们可以用csv模块读取并转成字典:

import csv

def load_ear_tag_data(file_path):
    ear_tag_dict = {}
    # 打开txt文件,用csv读取器解析(支持自定义分隔符)
    with open(file_path, 'r', encoding='utf-8') as file:
        # 如果你的txt是制表符分隔,把delimiter改成'\t'即可
        reader = csv.reader(file, delimiter=',')
        # 跳过表头行(如果你的txt第一行是表头的话,比如"主耳标,羊羔耳标,品种,年龄")
        next(reader)
        for row in reader:
            # 以主耳标编号为键,其他信息存为子字典
            main_tag = row[0].strip()  # 去除可能的空格
            ear_tag_dict[main_tag] = {
                'lamb_tag': row[1].strip(),
                'breed': row[2].strip(),
                'age': row[3].strip()
            }
    return ear_tag_dict

# 替换成你的txt文件路径
tag_database = load_ear_tag_data('sheep_ear_tags.txt')

2. 实现检索函数

写一个简单的函数,根据输入的耳标编号快速查找对应信息:

def search_tag(tag_id, database):
    if tag_id in database:
        info = database[tag_id]
        print(f"\n✅ 找到耳标 {tag_id} 的信息:")
        print(f"羊羔耳标:{info['lamb_tag']}")
        print(f"绵羊品种:{info['breed']}")
        print(f"年龄:{info['age']}\n")
    else:
        print(f"\n❌ 未找到耳标 {tag_id} 的相关信息\n")

3. 交互查询(可选,提升便捷性)

如果想让程序支持多次查询,不用每次重启,可以加个循环:

while True:
    user_input = input("请输入要查询的耳标编号(输入'q'退出程序):")
    if user_input.lower() == 'q':
        print("程序已退出~")
        break
    search_tag(user_input, tag_database)

适配不同txt格式的小技巧

  • 如果你的txt是用空格分隔内容,把csv.reader的delimiter参数改成' '
  • 如果没有表头行,去掉next(reader)这一行即可
  • 要是数据列更多,只需要在子字典里添加对应的键值对就行

这样应该就能完美替代纸质列表,实现快速查询啦!如果你的txt文件格式和示例有差异,或者还有其他个性化需求,随时调整就行~

内容的提问来源于stack exchange,提问作者Ola G. Rolstad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:52:35