在CSV文件中获取特定范围的数据(Python)

时间:2013-02-02 23:20:09

标签: python csv dictionary

基本上,我想在这里做的是读取特定范围的数据(Say,10,000个值)并查看它是否包含我正在寻找的匹配项。如果它不包含该匹配,那么它会抛出这些值并接受下一个10,000。

例如,如果我有MD5哈希“fac2a47adace059aff113283a03f6760”(其值为stack),我将从CSV文件加载10,000个值并检查该行中的MD5哈希是否与我给定的哈希匹配。如果是,那么我打印出该行上逗号之后的值,如果没有,则将那些10,000个值从内存中抛出并在此之后取10,000,直到得到一个值。

对此的道歉有点不清楚......我想不出一种解释它的清晰方式。我当前的处理方法是将包含所有字符组合(最多5个)的字典通过JSON转储到文本文件中,然后将其加载到要搜索的内存中,这不适用于5个字符(引发MemoryError)

提前感谢您的帮助,如果您需要澄清,请告诉我们!

1 个答案:

答案 0 :(得分:1)

假设匹配的行看起来像'fac2a47adace059aff113283a03f6760,堆栈',你基本上想要这样做:

for row in csv.reader(csvfile):
    if row[0] == "fac2a47adace059aff113283a03f6760":
        print row[1]
        break

如果您的哈希值不在第一列中,或者您的预哈希值不在第二列中,请将[0]和[1]调整为正确的索引。