基本上,我想在这里做的是读取特定范围的数据(Say,10,000个值)并查看它是否包含我正在寻找的匹配项。如果它不包含该匹配,那么它会抛出这些值并接受下一个10,000。
例如,如果我有MD5哈希“fac2a47adace059aff113283a03f6760”(其值为stack),我将从CSV文件加载10,000个值并检查该行中的MD5哈希是否与我给定的哈希匹配。如果是,那么我打印出该行上逗号之后的值,如果没有,则将那些10,000个值从内存中抛出并在此之后取10,000,直到得到一个值。
对此的道歉有点不清楚......我想不出一种解释它的清晰方式。我当前的处理方法是将包含所有字符组合(最多5个)的字典通过JSON转储到文本文件中,然后将其加载到要搜索的内存中,这不适用于5个字符(引发MemoryError)
提前感谢您的帮助,如果您需要澄清,请告诉我们!
答案 0 :(得分:1)
假设匹配的行看起来像'fac2a47adace059aff113283a03f6760,堆栈',你基本上想要这样做:
for row in csv.reader(csvfile):
if row[0] == "fac2a47adace059aff113283a03f6760":
print row[1]
break
如果您的哈希值不在第一列中,或者您的预哈希值不在第二列中,请将[0]和[1]调整为正确的索引。