从有规则的 Excel 片区中提取

 

举例

文件book1.xlsx中有如下图所示数据,每条记录由2个单元格片区组成(图中所示同色为一个片区),片区内上面格内容为关键字k,下面格内容为关键字的值v。现在需要把数据提取成有kv两列的数据集。

..

编写SPL脚本:


A

1

=file("E:/work/book1.xlsx").xlsimport@w()

2

=create(k,v)

3

=A1.step(2,1).conj()

4

=A1.step(2,2).conj()

5

=A3.run(A2.record([~,A4(#)]))

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

A2   创建有kv两列的序表来保存提取的数据

A3   A1中的奇数行,合并成一个序列,即为关键字序列

A4   A1中的偶数行,合并成一个序列,即为关键字值序列

A5   循环A3中每个关键字,将其与A4中同序号的值组成A2中的一条记录