举例例1 有 Excel 文件 Book1.xlsx,部分数据如下所示: id | name | 1001 | jack | 1002 | bob | 1002 | bob | 1003 | jerry | 1003 | jerry | 1004 | alice | 1004 | | 1004 | aaa | 1005 | tom | 1006 | |
去除 id 和 name 都重复的数据,若相同 id 存在非空 name,则 name 为空的数据也删除。结果如下: id | name | 1001 | jack | 1002 | bob | 1003 | jerry | 1004 | aaa | 1004 | alice | 1005 | tom | 1006 | |
编写SPL脚本: | A | 1 | =file("Book1.xlsx").xlsimport@t() | 2 | =A1.group(id).(~.group@1(name)).(if(~.len()>1,~.select(name),~)).conj() | 3 | =file("result.xlsx").xlsexport@t(A2) |
A1 读取 excel 文件内容 A2 按 id 分组,组内按 name 去重,去重后,若组内的数据大于两条,再过滤出 name 非空的数据,否则不过滤,合并各组结果 A3 结果导出至 result.xlsx 例2有 Excel 文件 Book1.xlsx,部分数据如下所示: Alex | Eddie | Ford | Alex | Bruce | Evan | Alex | Chris | Bruce | Alex | Evan | Chris | Bruce | Alex | Evan | Bruce | Alice | Chris | Bruce | Ford | Alex | Chris | Evan | Ford | Eric | Alex | Bruce |
去除相同数据(列序无关),结果如下: Alex | Chris | Bruce | Eric | Alex | Bruce | Alex | Bruce | Evan | Bruce | Ford | Alex | Alex | Evan | Chris | Alex | Eddie | Ford | Bruce | Alice | Chris | Chris | Evan | Ford |
编写SPL脚本: | A | 1 | =file("Book1.xlsx").xlsimport() | 2 | =A1.group@1(~.sort()) | 3 | =file("result.xlsx").xlsexport(A2) |
A1 读取 excel 文件内容 A2 每行数据排序,分组去重,取组内第一个数据 A3 结果导出至 result.xlsx
|