如何计算已排序文本文件中的出现次数

时间:2019-02-14 19:24:37

标签: sorting count sortedlist

我有一个具有以下格式的已排序文本文件:

Company1    Company2    Date    TransactionAmount  
A            B            1/1/19   20000  
A            B            1/4/19   200000  
A            B            1/19/19  324  
A            C            2/1/19   3456  
A            C            2/1/19   663633  
A            D            1/6/19   3632  
B            C            1/9/19   84335  
B            C            1/23/19  253  
B            C            1/13/19  850  
B            D            1/1/19   234  
B            D            1/8/19   635  
C            D            1/9/19   749  
C            D            1/10/19  203200  

我最终想要一个Python字典,以便每对映射到一个包含交易数量和所有交易总额的列表。例如,(A,B)将映射到[3,220324]。

此格式的文件有〜250,000行,每对可能有1个事务,最多约10个事务。还有成千上万对公司。

这是我想到的唯一实现方法。

my_dict = {}
file = open("my_file.txt").readlines()[1:]
for i in file:
    i = i.split()
    pair = (i[0],i[1])
    amt = int(i[3])
    if pair in my_dict:
        exist = my_dict[pair]
        exist[0] += 1
        exist[1] += amt
        my_dict[pair] = exist
    else:
        my_dict[pair] = [1,amt]

我觉得有一个更快的方法可以做到这一点。有什么想法吗?

0 个答案:

没有答案