将文本文件转换为字典

时间:2015-04-09 16:57:23

标签: python dictionary

我有一个文本文件,其结构如下:

mom:2
dad:3
mom:4
dad:2
me:4

我需要创建一个只显示每个名称一次的字典,但要将数值相加。在这种情况下,它看起来像这样:

{dad':5, 'me':4, 'mom':6}

我该如何解决这个问题? 我试过了

d = {}
  try:
    file = open(file.txt, "r")
    for line in file:
      (a, b) = line.split(":")
      d[a] = float(b)
  except IOError:
    print()

但我还没有找到计算价值的方法。

1 个答案:

答案 0 :(得分:1)

with open('file.txt', 'r') as f:                                                        
    fp = f.readlines()              

t = [l.strip().split(':') for l in fp if l != '\n']                                                                                                                   
d = {}                                                                                 
for l in t:                                                                          
    d[l[0]] = d.setdefault(l[0], 0) + int(l[1])