基于Pandas实现通过零件号查询对应行序列号的技术问询
零件号匹配与序列号提取方案
你的Excel数据中part number列的内容是带冗余文本的格式(比如abcd Part number:1234 abcd),要实现输入零件号后精准匹配并获取对应序列号,可按以下步骤处理:
步骤说明
- 数据预处理:从
part number列中提取出纯零件号,去掉前后冗余内容 - 输入匹配:接收用户输入的零件号,在预处理后的列中查找匹配项,提取对应序列号
完整代码
import pandas as pd # 读取Excel文件 excel_file = 'summery.xlsx' data = pd.read_excel(excel_file) # 从part number列提取核心零件号 # 正则匹配"Part number:"后的内容,若零件号含字母可把\d+改成\w+ data['clean_part_number'] = data['part number'].str.extract(r'Part number:(\d+)') # 获取用户输入(注意变量名不能有空格,修正原代码的语法问题) part_number = input("请输入零件号:") # 查找匹配记录并输出序列号 matched_records = data[data['clean_part_number'] == part_number] if not matched_records.empty: serials = matched_records['serial number'].tolist() print(f"找到对应序列号:{', '.join(serials)}") else: print("没有找到匹配该零件号的记录")
关键细节
- 正则表达式
r'Part number:(\d+)'专门提取Part number:后的连续数字,若你的零件号包含字母或特殊字符,可调整为r'Part number:(\w+)'(匹配字母数字下划线)或更贴合实际的规则 - 原代码中
part number作为变量名会触发Python语法错误,必须改成无空格的part_number - 用
tolist()处理可能存在的多行匹配情况,确保所有对应序列号都能被输出
内容的提问来源于stack exchange,提问作者enes ekinci
相关产品推荐
相关产品推荐

