使用计数器计算带有空格的字符串的出现次数



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

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。有什么建议吗?我不必使用计数器,我只是认为这是最好的,但如果有更有效的方式,我很想听听。

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

for row in sam:
    c[row[2]] += 1

最新更新