У меня есть отсортированный текстовый файл в следующем формате:
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]
Мне кажется, что есть более быстрый способ сделать это.Есть идеи?