列方向汇总

举例

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

classnameMathEnglishPE
oneJack897883
Tom906099
Jerry768862
Kate669085
twoJim876076
Alice1009997
Rebecca757688
threeCindy638072
Kitty825074
Lucy4010063

现在需要从三个班的某次测试成绩,汇总出各班的人数、所有学科(包含数学、英语、体育)的总成绩:

calssnumtotal
one4966
two3758
three3624

编写 SPL 脚本:

方法1:结构化数据

A
1=file("Book1.xlsx").xlsimport@t()
2=A1.groups@i(class;count(1):num,sum(~.array().to(3,).sum()):total)
3=file("result.xls").xlsexport@t(A2)

A1   读取 Excel 数据

A2  按班级分组,计算每个班级的人数 num,所有学科(3 至 5 列)的总成绩 total,其中${to(3,5).("#"/~).concat("+")}拼出串:#3+#4+#5

A3  将结果 A2 导出至 result.xlsx

方法2:二维数组

A
1=file("Book1.xlsx").xlsimport@w(;,2:)
2=A1.groups@i(~(1):calss;count(1):num,sum(~.to(3,).sum()):total)
3=file("result.xls").xlsexport@t(A2)

A1   读取 Excel 数据,从第二行开始读,读成一个二维数组

A2  按班级(第一列)分组,求每个班级的人数 num,所有学科(第三列往后)的总成绩 total

A3  将结果 A2 导出至 result.xlsx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值