从大数据量的 Excel 文件中读取多种类型的数据
例题描述和简单分析
有 Excel 文件 test-file.xlsx,数据如下所示:
Number | Date(mostly) | Date(mostly) |
1234567 | 2020/1/1 | |
1234581 | 2020/1/15 | 2020/1/16 |
asdf | asdf | |
qwer | 123 | |
zxcv | 456 | |
123 | qwer |
同列中可能有字符串、日期、数字类型的数据,并假定 Excel 的数据量很大,在控制台输出读取结果,如下:
Number,Date(mostly),Date(mostly)
1234567,2020-01-01,null
1234581,2020-01-15,2020-01-16
asdf,asdf,null
qwer,123,null
zxcv,456,null
123,qwer,null
解法及简要说明
在集算器中编写脚本 p1.dfx,如下所示:
A | B | |
1 | =file("test-file.xlsx").xlsimport@c() | |
2 | for A1 | >output(A2(1).array().concat@c()) |
简要说明:
A1 读取 Excel 数据,@c 表示返回成游标
A2 遍历 A1,每次读一行数据
B2 将 A2 的这一条记录按列间用逗号分隔拼成串,输出至控制台
JAVA 集成这段代码的方法可参考:《Java 如何调用 SPL 脚本》。
英文版