在这种情况下,line
包含一个字符串列表。您可以迭代line
中的每个单元格值并搜索您的关键字,如下所示:
for line in csvdata:
for cell in line:
if 'grammy' in cell:
print('this line contains my word:', line)
你的方法的问题是你初始化计数器变量i
,然后增加该变量,但你从来没有将i
的值重置为零。如果要使用您的方法,则需要将每行的i
计数器变量重置为0:
for line in csvdata:
i = 0
t = t + 1
i = i + 1
... [ rest of your code ]
如果你没有为每一行重置i
,那么第一行将使i
增加1,所有后续行将继续增加i
的值。最终这会导致您明智地捕获的索引错误!
这种方法的另一个问题是每行只检查i
的单个值。因此,对于每一行,您只需检查单个单元格的值。解决这个问题的一种方法是使用上面列出的for循环方法(for cell in line
)。另一种方法是使用while循环,但是如果你是编程新手,我首先要掌握for循环,然后再转到while循环。
我希望这有帮助!