Python-如何重新启动for循环?
我对python非常陌生,我看到过类似的问题被回答,但我在理解它们时遇到了很多困难,所以我创建了一个新问题 我将尽量提供所需的上下文和代码 因此,我尝试在.csv文件中搜索字符串/数字(我只在第一列中搜索),如果找到它,我将让它抓取字符串/数字所在的整行Python-如何重新启动for循环?,python,for-loop,Python,For Loop,我对python非常陌生,我看到过类似的问题被回答,但我在理解它们时遇到了很多困难,所以我创建了一个新问题 我将尽量提供所需的上下文和代码 因此,我尝试在.csv文件中搜索字符串/数字(我只在第一列中搜索),如果找到它,我将让它抓取字符串/数字所在的整行 (import csv was included) input_string = input() input_string_2 = input() def search(x): for row in (the .
(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)
这似乎只需要一个输入。但如果我尝试使用多个输入,它只会在列表中遍历一次,这意味着有时我无法获得第二次搜索的结果。我在问是否有人知道如何在每次调用函数时重新启动它。提前谢谢
请注意,当我执行此操作时,我没有收到任何错误,因此,如果有一些明显的拼写错误,这可能不是问题所在
编辑:发布的解决方案可能不够广泛,无法在其他情况下解决该问题。您需要返回到文件的开头,否则将无法阅读
def search(x):
csv_file.seek(0)
for row in csv_file:
if x == row[0]:
print(row)
return row
不确定这是否是您想要的:
def search(x):
y = []
for row in csv_file:
if x == row[0]:
print(row)
y.append(row)
return y
您是如何读取
.csv
文件的?如果只在函数内部使用上下文管理器,可能会更容易。