2016-01-04 2 views
0

По сути, я хочу, чтобы он запрашивал набор данных excel. У меня есть список имен в excel, я хочу, чтобы python задал мне имя и получил вход. Тогда я хочу, чтобы рыскать лист первенствовать и вернуть «Я знаю, что вы», если имя в списке или «Мы никогда не встречались», если его неПоиск по данным Excel

я борюсь с петлей, как я получаю напечатать значение для каждого листа excel, где, поскольку мне нужен только один результат от всего поиска.

Вот мой код

import openpyxl 
wb = openpyxl.load_workbook('namelist.xlsx') 

sheet = wb.get_sheet_by_name('Sheet1') 

print('What is your name?') 
name = input() 

for row_index in range(2,sheet.get_highest_row()): 

if sheet.cell(row=row_index,column=1).value == name:   
print('I know you') 
exit() 

else: 

print('We have never met') 
+2

исправить ваше отступление –

ответ

0

В настоящее время, ваш цикл повторяется через каждую строку и печатает либо два значения (Я знаю, что вы или Мы никогда не встречались) для каждой ячейки и будет только выйти на успешно нахождение name.

Рассмотрите возможность перемещения операторов печати за пределы цикла для вывода только один раз в условном выражении.

found = False 
for row_index in range(2,sheet.get_highest_row()):  
    if sheet.cell(row=row_index,column=1).value == name:   
     found = True 

if found = True: 
    print('I know you') 
else: 
    print('We have never met') 
Смежные вопросы