把数据表横向填入列

常见的Excel数据表,都是数据记录位于行方向,即记录数据都在同一行。但也有一些特殊的Excel表格,数据记录是位于列方向。要生成这种表格,需要先将序表列标题和数据进行行列转置,然后用SPL中的xlsexport@w函数来保存。

举例

有财务数据表book1.xlsx,数据如下图所示:

现在需要重新生成如下图所示的表格:

编写SPL脚本:

A
1=T("E:/work/book1.xlsx")
2=[A1.fname()]|A1.(~.array())
3=transpose(A2)
4=file("E:/work/book2.xlsx").xlsexport@w(A3)

A1 读入book1.xlsx文件数据成为序表

A2 把A1的字段名序列与各行记录值序列合并成序列的序列

A3 把A2进行行列互换

A4 将A3保存到文件book2.xlsx,选项@w表示要写出的对象A3是序列的序列

如果只是把表格转过来,也可以不用读成序表式的结构化数据,例如编写SPL脚本:

1=file("E:/work/book1.xlsx").xlsimport@w()
2=transpose(A1)
3=file("E:/work/book2.xlsx").xlsexport@w(A2)

A1 读入book1.xlsx文件数据,选项@w表示将数据读成序列的序列

A2 把A1的序列进行行列互换

A3 将A2保存到文件book2.xlsx,选项@w表示要写出的对象A2是序列的序列

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值