按第一例相同项求第二列的值

文件test:

文本内容如下:
a 2
b 3
c 6
a 8
d 9
处理方法,如果第一列相同,第二列值相加(比如a 10),处理完毕后,打印第二列的值大于8的数据。

awk:

awk '{a[$1]+=$2;}END{for(i in a){if(a[i]>8){print i" "a[i];}}}' test

python:

#!/usr/bin/env python

f = file("test",'r')
m = {}

for x in f.readlines():
    key,value = x.split()
    if m.has_key(key):
       m[key] = int(m[key])+int(value)
    else:
        m[key] = value
    if int(m[key]) < 8:
        del m[key]

print m
for k,v in m.items():
    print k,v

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/191716.html

(0)
上一篇 2021年11月14日
下一篇 2021年11月14日

相关推荐

发表回复

登录后才能评论