Как посчитать количество вхождений в отсортированном текстовом файле - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть отсортированный текстовый файл в следующем формате:

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]

Мне кажется, что есть более быстрый способ сделать это.Есть идеи?

...