csvファイルをキー列とマージする

csvファイルをキー列とマージする

csvファイルをマージするには、シェルスクリプトを作成する必要があります。どちらのファイルも同じ列を持ち、「キー」で指定された固定数の列があります。キーが同じ場合は、キーではなく列を追加してマージしたいと思います。

たとえば、

A.csv

k1,k2,k3,v1,v2      => This is the header row
A,B,C,4,5
A,B,D,3,4

B.csv

k1,k2,k3,v1,v2      => This is the header row
A,B,A,2,3
A,B,C,1,4
A,B,E,4,5

Merged.csv:

k1,k2,k3,v1,v2      => This is the header row
A,B,A,2,3
A,B,C,5,9           => A,B,C is present in both the csv, so value cols are added 
A,B,D,3,4
A,B,E,4,5

ベストアンサー1

ミラーの使用(http://johnkerl.org/miller/doc/index.html)と

mlr --csv stats1 -a sum -g k1,k2,k3 -f v1,v2 input_a.csv input_b.csv

あなたはやる

k1,k2,k3,v1_sum,v2_sum
A,B,C,5,9
A,B,D,3,4
A,B,A,2,3
A,B,E,4,5

おすすめ記事