-1

这些列包括两个关键特征,一列要总结,以及其他一些(例如,1)不重要的列。

key1, key 2, pr, trivial    
abc, 43, 23, haha    
abc, 43, 456, hok    
bcd, 23, 89,kol

我想用相同的 key1 和 key2 添加 sum 列,并输出一个 3 列的 csv 文件。

key1, key2, sumvalueofpr

在上述情况下,它是

key1, key2, sumvalueofpr
abc , 43, 479
bdc, 23, 89

(注479=23+456:)

使用 Perl 或 Shell 命令都可以。

4

2 回答 2

0

if awk is accepted by you, this one-liner gives you expected output:

awk -F, -v OFS=", " 'NR==1{print "key1","key2","sum";next}{a[$1", "$2]+=$3}END{for(x in a)print x,a[x]}' file
于 2013-07-24T19:49:31.793 回答
0

是否只有 key1/key2 对的特定值,或者您是否要检查任何可能的匹配项?

您可以使用性能较低(但易于编码)的方法,您可以尝试这样的方法:

for i in range(0,number_of_rows):
   for j in range(i+1, number_of_rows):
        if (key1_from_row_i == key1_from_row_j) and (if (key1_from_row_i == key1_from_row_j)):
             increment your sum of key1_sum key2_sum
于 2013-07-24T17:10:38.087 回答