Попытка зациклить массив через каждую строку файла Excel - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь перебрать каждую строку файла Excel с каждым значением в массиве. Я хочу, чтобы первое совпадение напечатало «значение массива найдено», если совпадение не найдено, я хочу напечатать «значение массива не найдено»

Если в основном работает, за исключением того, что я хочу выйти из цикла, когда совпадение найдено, и это не так.

Использование lxrd

for row_num in range(sheet.nrows):
    for n in name_array:
        row_vlaue = sheet.row_values(row_num)
        if row_vlaue[4] == r in name_array:
            print(n, "found")
            break
        else:
            print(n, "not found")

1 Ответ

0 голосов
/ 29 августа 2018

Из вашего кода кажется, что вы ищете значения только в 5-й ячейке (row_vlaue[4]), если это правда, то этого должно быть достаточно:

for row_num in range(sheet.nrows):
    row_vlaue = sheet.row_values(row_num)
    if row_vlaue[4] in name_array: # this checks if the 5th cell is in your list of searched values
        print(row_vlaue[4], "found on row", row_num)
        name_array.remove(row_vlaue[4]) # we remove the element we've found
        if not name_array: # nothing else to search for
            print("found them all")
            break
else:
    # this else will be executed only if the break was not called
    # this means that there still something left in in list of searched values
    print(name_array, "not found") 

Позднее редактирование: изменил ответ, чтобы получить все искомые значения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...