Python-如何重新启动for循环?

时间:2020-07-21 23:00:35

标签: python for-loop

我对python还是很陌生,我已经看到类似的问题正在回答,但是我在理解它们时遇到了很多麻烦,所以我创建了一个新问题。

我将尝试根据需要提供尽可能多的上下文和代码。

因此,我尝试在.csv文件中搜索字符串/数字(我仅在第一列中进行搜索),如果找到它,我将让它抓取字符串/数字所在的整行位于。

(import csv was included)

input_string = input()
input_string_2 = input()

def search(x):          
    for row in (the .csv file):
        if x == row[0]:
            print (row)
            return row

output_array = search(input_string)
output_array_2 = search(input_string_2)

这似乎与一个输入一起工作。但是,如果我尝试使用多个输入,则它只会遍历列表一次,这意味着有时我不会获得第二次搜索的结果。我问是否有人知道每次调用该函数时如何重新启动它。预先感谢。

请注意,执行此命令时我没有出现任何错误,因此,如果出现一些明显的拼写错误,可能就不是问题了。

编辑:发布的解决方案可能不够广泛,无法解决其他情况下的问题。

2 个答案:

答案 0 :(得分:2)

您需要返回到文件的开头,否则将无任何内容可供阅读。

def search(x):
    csv_file.seek(0)
    for row in csv_file:
        if x == row[0]:
            print(row)
            return row

答案 1 :(得分:0)

不确定这是否是您要寻找的东西:

def search(x):
    y = []
    for row in csv_file:
        if x == row[0]:
            print(row)
            y.append(row)
    return y