我有一个具有以下格式的已排序文本文件:
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]
我觉得有一个更快的方法可以做到这一点。有什么想法吗?