举例
有Excel文件Book1.xlsx,部分数据如下所示:
| code | order |
| A | 1 |
| A | 2 |
| A | 3 |
| A | 4 |
| B | 1 |
| B | 2 |
| B | 4 |
| B | 3 |
| C | 4 |
| C | 2 |
| C | 3 |
| C | 1 |
有Excel文件standard1.xlsx,数据如下所示:
| order |
| 1 |
| 2 |
| 3 |
| 4 |
有Excel文件standard2.xlsx,数据如下所示:
| order |
| 1 |
| 2 |
例1:集合相等
Book1中找出同code下,order列与standard1的order列完全相同的所有数据
编写SPL脚本:
| A | |
| 1 | =file("Book1.xlsx").xlsimport@t() |
| 2 | =file("standard1.xlsx").xlsimport@t() |
| 3 | =A2.(order) |
| 4 | =A1.group(code).select(~.(order)==A3).conj() |
A1 读取Excel数据
A2 读取Excel数据
A3 standard1中的order数据
A4 将Book1的数据按code分组,找出每组内order列等于A3的数据,结果如下:
| code | order |
| A | 1 |
| A | 2 |
| A | 3 |
| A | 4 |
例2:集合从属
Book1中找出同code下,order列中包含standard2的order列的所有数据
编写SPL脚本:
| A | |
| 1 | =file("Book1.xlsx").xlsimport@t() |
| 2 | =file("standard2.xlsx").xlsimport@t() |
| 3 | =A2.(order) |
| 4 | =A1.group(code).select(~.(order).pos@c(A3)).conj() |
A1 读取Excel数据
A2 读取Excel数据
A3 standard2中的order数据
A4 将Book1的数据按code分组,找出每组order列包含了A3的所有数据,结果如下:
| code | order |
| A | 1 |
| A | 2 |
| A | 3 |
| A | 4 |
| B | 1 |
| B | 2 |
| B | 4 |
| B | 3 |
本文介绍了如何使用SPL脚本来处理Excel数据,通过集合相等和从属关系进行数据筛选。例如,从Book1.xlsx中找出order列与standard1.xlsx相同或包含standard2.xlsx order数据的记录。示例展示了如何按code分组并进行集合操作,以实现特定的数据过滤。
686

被折叠的 条评论
为什么被折叠?



