结构化文本是很常见的文件格式,对结构化文本的计算也是很常见的需求。在实现这种计算时,一种很容易想到的办法是将文件导入数据库后再计算,但这会消耗大量时间以及昂贵的数据库资源,而且有的场合下并没有合适的数据库可用。这样一来,我们就会有一个自然的想法,如果能够直接计算就会方便多了。可惜的是,一般高级语言都没有提供针对结构化文本的基本运算类库,而想要通过硬编码完成这些运算又非常繁琐,不仅代码复杂,可维护性还很差。
作为专业的结构化数据计算类库,集算器SPL封装了丰富的结构化计算函数,支持集合运算、关联运算、有序运算,因此可轻松实现结构化文本的运算。此外,SPL还可以通过JDBC调用接口向Java应用提供运算结果(可参考【Java 如何调用 SPL 脚本】),极大地方便集成工作。
下面我们就来看一下常见的结构化文本计算案例,以及SPL对应的解法。
维护
增加记录
在sales.txt的第2行插入1条记录。源文件如下:
| OrderID | Client | SellerId | Amount | OrderDate |
| 26 | TAS | 1 | 2142.4 | 2009-08-05 |
| 33 | DSGC | 1 | 613.2 | 2009-08-14 |
| 84 | GC | 1 | 88.5 | 2009-10-16 |
| 133 | HU | 1 | 1419.8 | 2010-12-12 |
| 32 | JFS | 3 | 468 | 2009-08-13 |
| 39 | NR | 3 | 3016 | 2010-08-21 |
| 43 | KT | 3 | 2169 | 2009-08-27 |
代码
| A | |
| 1 | =file("D:\\sales.txt").import@t() |
| 2 | =A1.insert(2,200,"MS",20,2000,date("2015-02-02")) |
| 3 | =file("D:\\sales.txt").export@t(A1) |
结果
| OrderID | Client | SellerId | Amount | OrderDate |
| 26 | TAS | 1 |

本文介绍了SPL如何高效地处理结构化文本计算,包括增加、删除、修改记录,增加、删除列,以及查询、排序、分组汇总等基本运算。SPL提供了丰富的函数,使得操作结构化文本变得简单,且支持与Java应用的集成。
最低0.47元/天 解锁文章
686

被折叠的 条评论
为什么被折叠?



