行列方向都合并时汇总重复项
列转行,汇总,再行转列。关键函数:pivot和groups
举例
有 csv 文件 csv1.csv,如下:
有 csv 文件 csv2.csv,如下:
现在需要把这两个表按行列合并,同时汇总重复项,结果如下:
编写 SPL 脚本:
A |
|
1 |
=file("csv1.csv").import@tc() |
2 |
=file("csv2.csv").import@tc() |
3 |
=A1.pivot@r(id;col,val) |
4 |
=A2.pivot@r(id;col,val) |
5 |
=(A3|A4).groups(id,col;sum(val):val) |
6 |
=A5.pivot(id;col,val) |
7 |
=file("result.csv").export@ct(A6) |
A1 从 csv 中读取数据
A2 从 csv 中读取数据
A3 列转行
A4 列转行
A5 汇总重复项,当有多组数据时,用 conj 合并,这里两个,用 | 合并即可
A6 汇总后的结果,行转列
A7 结果导出至 result.csv