Python 尝试通过Excel文件的每一行循环数组

Python 尝试通过Excel文件的每一行循环数组,python,arrays,excel,python-3.x,loops,Python,Arrays,Excel,Python 3.x,Loops,我试图循环遍历Excel文件的每一行以及数组中的每一个值。我希望第一个匹配项打印“已找到数组值”,如果未找到匹配项,我希望打印“未找到数组值” If主要起作用,但我想在找到匹配项时打破循环,但它不起作用 使用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 nam

我试图循环遍历Excel文件的每一行以及数组中的每一个值。我希望第一个匹配项打印“已找到数组值”,如果未找到匹配项,我希望打印“未找到数组值”

If主要起作用,但我想在找到匹配项时打破循环,但它不起作用

使用
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")

从您的代码来看,您似乎只在第5个单元格(
行[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") 

稍后编辑:更改答案以获得所有搜索值

首先,您有缩进问题。粘贴的代码不会按预期执行,因为缩进对上下文很重要(特别是在
if
语句下。其次,您是否真的将
For
if
大写?这也很重要。如果代码不准确,请调整代码。因此您只检查第5个单元格中的值?是的,第5个单元格的缩进是正确的。这对第一个匹配有效。它会找到fi数组和Excel文件之间的rst匹配。但我正在尝试找出如何在Excel文件中为数组中的每个项获取第一个匹配项。然后,如果在Excel文件中找不到数组项,则转到else语句。很可能不是很清楚。哦,这完全是另一回事,让我尝试调整我的响应