readRecord!

语法

readRecord!(handle, holder, [offset=0], [length])

参数

handle 是文件句柄。

holder 是用于保存读取的数据的变量。

offset 表示数据保存至holder的起始位置。

length 是从文件中读取的行数。

详情

readRecord! 函数将二进制文件转换为 DolphinDB 数据对象。DolphinDB 也提供了 writeRecord 函数,用于将 DolphinDB 数据对象转换为二进制文件,以供其它程序使用。 二进制文件基于行,且每行包含的记录有相同的数据类型和固定的长度。例如,如果一个二进制文件包含了 5 个数据域,分别具有下述数据类型(长度):char(1), boolean(1), short(2), int(4), long(8), 和 double(8), 那么 readRecord! 函数将把每行视为 24 个字节。类似地,writeRecord 函数把 DolphinDB 对象(例如表或元组)转换为具有上述格式的二进制文件。

例子

// 创建一个文件句柄,用于读取记录。二进制文件 a.bin 包含了 1000 条记录。
$ f=file("c:/DB/a.bin")
$ t=table(1000:0, `PERMNO`PRC`VOL`SHROUT, `int`double`int`double)
$ f.readRecord!(t);
1000

// 类似地,我们可以将一个二进制文件读入一个 DolphinDB 元组对象
$ f=file("c:/DB/a.bin")
$ t=loop(array, [int, double, int, double], 0, 500)
// 创建具有 4 个数组元素的元组 t。每一个数组的长度是 500
$  f.readRecord!(t, 0, 500);
// 读取前 500 行
500