行列方向都合并时去除重复项

列转行,去重,再行转列。关键函数:pivotgroup

举例

有 csv 文件 csv1.csv,如下:

有 csv 文件 csv2.csv,如下:

现在需要把这两个表按 csv2、csv1 的顺序行列合并,遇到重复项时按顺序取第一个出现的值,结果如下:

编写 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).group@1(id,col)

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