我有一个非常长的字符串列表和一个包含字符串列和数字列的CSV文件。 我需要循环遍历这个极长的字符串列表,并为每个字符串循环遍历CSV文件的行,检查CSV第一列中的每个字符串是否出现在我的字符串中。 如果是,则将另一列中的数字添加到某些内容中。 最简单的示例如下:
import csv
sList = ['a cat', 'great wall', 'mediocre wall']
vals = []
with open('file.csv', 'r') as f:
r = csv.reader(f)
for w in sList:
val = 0
for row in r:
if row[0] in w:
val += 1
vals.append(val)
我可能使用这个功能的CSV文件示例如下:
a, 1
great, 2
当然,csv.reader(f) 创建了一个可迭代对象,我只能循环一次。我已经看到其他地方的建议使用itertools,但我找到的所有建议都是针对需要循环几次 CSV 文件的问题,通常只循环两次。如果我尝试将其用于多次循环CSV,则不确定这对内存消耗意味着什么,总体上,我想知道解决此问题的最明智方法是什么。