1

我有一个大的制表符分隔文件。我想计算整个文件第三列中任何字符串的出现次数。总共可能有数十万个不同的字符串。我认为 Counter 会对此有好处,而且我非常接近我想要的:

from collections import Counter
import csv

with open('samfile.sam') as samFile:
    sam = csv.reader(samFile, dialect='excel-tab')
    c=Counter()
    for row in sam:
        c.update(row[2].split())

问题是一些字符串有空格。它把它分成两个字符串并计算它们。因此,如果这是我感兴趣的专栏:

foo
bar
foo bar

柜台是 2 foo, 2 bar,但我想要 1 foo, 1 bar, 1 foo bar。有什么建议么 ?我不必使用 Counter 我只是认为它会是最好的,但如果有更有效的方式,我很想听听。

4

1 回答 1

1

不要拆分第三列中的字符串:

for row in sam:
    c[row[2]] += 1
于 2013-09-05T17:54:51.023 回答