2016-04-05 4 views
0

У меня есть метка записи, в которую вы вводите имя. Я хочу, чтобы он просматривал столбец 0 файла csv. Если это имя существует, оно должно отображаться в уже созданном списке (это работает отлично), но если имя не существует, я хочу создать метку времени (раздел 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

Существует более чем одна запись в «читатель», поэтому некоторые записи равны въездные и некоторые записи не делают, так как если и Элиф выполняются на разных записей. Обратите внимание, что и если и еще лучше работать здесь, то все охватывает все, что не является символом ==. –

+0

Я изменил его на другое, но у меня все еще есть такая же проблема, как и его поиск по одному и тому же списку, и, следовательно, получение результатов, которые соответствуют и не делают, но спасибо в любом случае - @CurlyJoe –

ответ

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 
+0

Я изменил свою кодировку, используя то, что вы предложили, теперь она работает , благодаря!! :) –

+0

Если это так, пожалуйста, примите это как ответ – R4PH43L

Смежные вопросы