千家信息网

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

发表于:2024-10-02 作者:千家信息网编辑
千家信息网最后更新 2024年10月02日,文件test:文本内容如下:a 2b 3c 6a 8d 9处理方法,如果第一列相同,第二列值相加(比如a 10),处理完毕后,打印第二列的值大于8的数据。awk:awk '{a[$1]+=$2;}EN
千家信息网最后更新 2024年10月02日按第一例相同项求第二列的值

文件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 pythonf = 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 mfor k,v in m.items():    print k,v


0