【发布时间】:2017-12-26 10:47:56
【问题描述】:
我有以下完美运行的代码。它在 txt 文件中搜索 ID 号,如果存在,则返回名字和姓氏。
import csv
#==========Search by ID number. Return Just the Name Fields for the Student
with open("studentinfo.txt","r") as f:
studentfileReader=csv.reader(f)
id=input("Enter Id:")
for row in studentfileReader:
for field in row:
if field==id:
currentindex=row.index(id)
print(row[currentindex+1]+" "+row[currentindex+2])
文件内容
001,Joe,Bloggs,Test1:99,Test2:100,Test3:33
002,Ash,Smith,Test1:22,Test2:63,Test3:99
出于教学和学习的目的,我想知道是否有其他方法可以实现相同的目标(优雅、简单、pythonic),或者这确实是最好的解决方案?
我的问题源于这样一个事实,即似乎可能存在一种内置方法或某些函数可以更有效地检索当前索引并搜索字段......也许不是。
提前感谢您的讨论和任何解释,我将接受作为答案。
【问题讨论】:
-
这不是一个很好的解决方案。对于初学者,当您的 ID 始终存储在第一列时,您循环遍历行中的所有字段,如果找不到 ID,您没有任何消息提醒用户,并且您将自己限制为单个一致的 ID 查找当你遍历打开的文件时。