合并重复的行excel

时间:2014-02-13 17:43:25

标签: excel bash excel-2010

现在我有一堆行来自不同来源的数据。 A列包含源文件的名称,其余列是从这些源中提取的各种值。

我想要做的是将行与相同的源文件合并。

目前:

  

Source1,value1,value2,value3

     

Source1,value4,value 5

     

Source2,值1,值2

     

Source2,value 3,value 4

我需要它看起来像

  

Source1,value1,value2,value3,value4,value5

     

Source2,value1,value2,value3,value4

我对如何做到这一点非常灵活。如果它更容易导出到csv并使用它在bash而不是在excel中我可以这样做

1 个答案:

答案 0 :(得分:0)

我认为这只是在awk中,但我必须喂孩子: - ):

awk -F, '{if(!length(d[$1]))d[$1]=$1;for(i=2;i<=NF;i++)d[$1]=d[$1]","$i}END{for(i in d)print d[i]}' yourfile.csv

输出:

Source1 , value1, value2, value3, value4, value 5
Source2 , value 1, value 2, value 3, value 4

输出行将存储在数组d []中。当读取每一行时,我检查线上第一个字段索引的数组元素d []是否未定义(即长度= 0),如果未定义,则将字段1存储在那里(即源)。然后我将该行中的所有剩余字段连接到我存储的字符串上。最后,我打印出d []中的所有字符串。