所以我基本上有一個非常長的字符串列表,以及一個包含一列字符串和一列數字的CSV文件。我需要遍歷很長的字符串列表,併爲每個字符串循環遍歷CSV文件的行,檢查CSV第一列中的每個字符串以查看它是否出現在我的字符串中,如果是,請添加另一列中的數字爲某事。 A排序例如最小的是只能通過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(六)創建一個迭代,我可以循環只通過一次。我在其他地方看到過使用itertools的建議,但是我發現的所有建議都是針對涉及通過CSV文件循環幾次的問題,通常只是兩次。如果我試圖用這種方法循環播放CSV很多次,我不確定這會對內存消耗產生什麼影響,並且通常我只是想知道如何解決這個問題。
多大的文件?你能否將整個事物讀入字典並對結果字典進行查找? – 2014-12-08 03:33:51