在实际应用,尤其是大数据处理中,很多数据并非来自数据库,而是来源于文件。因此,集算器中提供了外存文件游标,可以从格式化的文件中构成游标读取数据。如文本文件PersonnelInfo.txt中存储了很多员工的资料:
在文件中,每条记录占一行,各列之间用制表符Tab分隔。用外存文件游标即可根据文件构成游标,并读取其中的数据。如:
|
A |
1 |
=file("PersonnelInfo.txt") |
2 |
=A1.cursor@t() |
3 |
>A2.skip(50000) |
4 |
=A2.fetch(100) |
5 |
>A2.close() |
A2中根据外存文件构成游标,并添加了@t选项,这样可以将文件中的第一行作为结果集的列名。A3中跳过前50,000条数据,然后在A4中读取100条数据如下:
外存文件游标在使用时与数据库游标是相同的,获取数据时同样是单向单次遍历。A3中用cs.skip() 跳过数据后,A4中读取的数据将从第50,001条开始。
在用文件创建游标时,也可以不使用其中的所有数据,而是选出指定字段,如:
|
A |
1 |
=file("PersonnelInfo.txt") |
2 |
=A1.cursor@t(ID, Name, State, Gender) |
3 |
>A2.skip(50000) |
4 |
=A2.fetch(100) |
5 |
>A2.close() |
网格中的代码基本与前一个例子相同,只是在A2中构建外存文件游标时,选出了指定的字段。
需要注意的是,只有使用@t选项读入了字段名时才能使用字段名选择。如果未使用@t选项,只能直接按位置指定字段,如=A1.cursor(#1, #2, #6, #3)。
关于外存文件游标,将在7.7文本数据中深入讲解。