我有一个输入标签,您可以在其中输入名称。我希望它搜索csv文件的第0列。如果该名称存在,则它应显示在已创建的列表框中(这样可以正常工作)但如果名称不存在,我想创建一个定时标签(elif部分)。但是,我写的代码在名称不存在时显示标签。
with open('CLASSES.csv', 'rt')as f:
reader=csv.reader(f)
people=[]
for column in reader:
if column[0]==entry:
people.append(column[0:8])
namebox.delete(0,END)
nameslist=[x[0] for x in people]
for names in (nameslist):
namebox.insert(END, names)
elif column[0]!=entry:
INC=Label(master,text='User Does Not Exist',bg='#800000',fg='white')
INC.grid(row=2,column=3,columnspan=5,sticky='s')
def af():
INC.configure(fg='#800000')
INC.after(1000, af)
if column[0] == entry:
部分工作正常,但我认为我会将其包含在内,以便更容易理解该程序的工作原理。
任何帮助都会很棒!
答案 0 :(得分:1)
您正在显示每个条目的记录。
如果找到条目,请使用boolean
类型变量进行存储。在循环开始之前用false
初始化它。如果条目相同,请将其设置为true
。循环检查此值并将if分支应用于它。
伪代码
search = "SomeEntryValue"
found = False
for line in open("csv-file", "r"):
if line[0] == search:
found = True
# Optional Tasks to be done here for each entry
if found:
# Display the Data
else:
# display the "User does not exist" message