标签:xlsx num 汇总 A1 A2 result file 方向
举例
有 Excel 文件 Book1.xlsx,数据如下所示:
class | name | Math | English | PE |
one | Jack | 89 | 78 | 83 |
Tom | 90 | 60 | 99 | |
Jerry | 76 | 88 | 62 | |
Kate | 66 | 90 | 85 | |
two | Jim | 87 | 60 | 76 |
Alice | 100 | 99 | 97 | |
Rebecca | 75 | 76 | 88 | |
three | Cindy | 63 | 80 | 72 |
Kitty | 82 | 50 | 74 | |
Lucy | 40 | 100 | 63 |
现在需要从三个班的某次测试成绩,汇总出各班的人数、所有学科(包含数学、英语、体育)的总成绩:
calss | num | total |
one | 4 | 966 |
two | 3 | 758 |
three | 3 | 624 |
编写 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
标签:xlsx,num,汇总,A1,A2,result,file,方向 来源: https://blog.csdn.net/raqsoft/article/details/121531685
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。