集合相等与从属判断

本文介绍了如何使用SPL脚本来处理Excel数据,通过集合相等和从属关系进行数据筛选。例如,从Book1.xlsx中找出order列与standard1.xlsx相同或包含standard2.xlsx order数据的记录。示例展示了如何按code分组并进行集合操作,以实现特定的数据过滤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

举例

有Excel文件Book1.xlsx,部分数据如下所示:

codeorder
A1
A2
A3
A4
B1
B2
B4
B3
C4
C2
C3
C1

有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的数据,结果如下:

codeorder
A1
A2
A3
A4

例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的所有数据,结果如下:

codeorder
A1
A2
A3
A4
B1
B2
B4
B3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值