每 N 列一组转成多行

这篇博客介绍了如何利用SPL脚本来操作Excel文件,具体任务是按照第一列及偶数列分组,并对奇数列进行汇总。首先读取Excel文件,然后通过扩展行来组合偶数列和奇数列,接着按分组列求奇数列的和,最后将结果保存到新的Excel文件中。这个例子展示了SPL在数据处理上的灵活性。

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

举例

某Excel文件book1.xlsx从第2列开始,每两列是一对(即除第1列之外的偶数列和奇数列,比如第2列和第3列),这样的列共4对,具体如下:

现在需要按照第1列、所有的偶数列分组,组内对奇数列汇总。结果应当如下:

编写SPL脚本:

A
1=file("E:/work/book1.xlsx").xlsimport@w().to(2,)
2=A1.news(~.len()\2;A1.~(1):Micro,A1.~(#*2):Group,A1.~(#*2+1):Series)
3=A2.groups(Micro,Group;sum(Series):Series)
4=T("E:/work/book2.xlsx",A3)

A1   读入book1.xlsx文件数据,选项@w表示读成序列的序列。读出后再取第2行到最后一行

A2   对A1的每1行进行扩展,扩展出的行数为:本行成员个数整除2的商。扩展出的行中第1列Micro为A1的第1个成员,第2列Group为A1的#*2个成员,第3列Series为A1的#*2+1个成员,这里的#代表本行扩展出的行号。

A3   对A2按照Micro和Group分组,算出Series的和命名为Series列

A4   将A3保存到文件book2.xlsx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值