我需要从二进制文件创建SAS数据集。我的代码是:
data test;
infile 'D:\test\T201.bin' lrecl=12 recfm=f;
input time IB4. v1 IB4. v2 IB4. ;
run;
有没有办法只读取输入文件中的特定行号?例如,假设我想保留行42000到44000.我可以添加:
if 42000<=_n_<=44000
但我想知道是否有更有效的方法来做到这一点。我的理解是这种方法会导致SAS读取所有行,但只保留输出数据集中指定的行。 SAS是否可以直接跳转到特定行? (效率在这里非常重要,因为我有数TB的数据需要处理。)
答案 0 :(得分:7)
我不知道确切的表现,但你可以试试 第一和第二选择。它将允许从文件中间读取一系列记录。
data test;
infile 'D:\test\T201.bin' lrecl=12 recfm=f firstobs=42000 obs=44000;
input time IB4. v1 IB4. v2 IB4. ;
run;