python的dict数字相加问题

有数十个文件,每个文件的内容如下:
或者这样

{}
{0: -2002955618624, 1: -57996680, 2: -280878257, 3: -1236504, 5: -166732700, 6: -17393262, 9: -72248, 10: -2128019, 11: -82167, 12: -5375000}
{0: 2296897420816, 1: 54715515, 2: 316252469, 3: 705800, 5: 175049545, 6: 18854077, 9: 71691, 10: 1554391, 11: 63251, 12: 10425800}

或者这样

{1: 180080, 2: 92525}
{0: -1718672502706, 1: -39752293, 2: -305268809, 3: -438494, 5: -138335400, 6: -14315785, 9: -116516, 12: -25950000}
{0: 2172777939860, 1: 38779910, 2: 342781787, 3: 470400, 5: 144757625, 6: 15513426, 9: 141050, 11: 30, 12: 31245100}

每个文件都有三行,第一行可能为空字典

现在要按行处理,把key相同的value相加起来,最后的几个类似这样
{1: 180080, 2: 92525}
{0:-3721628121330,1:-97748973....}
{0:4469675360676,1:93495425....}
的结果

阅读 4.6k
1 个回答

处理单个文件 大概可以这样(手机码字,没有格式,对付看吧):

with open(path) as f:

for line in f:
    d=dict()
    for kv in line[1:-2].split (','):
        k,v=if.split(':')
        d[k]=v
    print d
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题