长文本文件到 SAS 数据集
long text file to SAS Dataset
我正在尝试将大型文本文件(报告)作为单个单元格加载到 SAS 数据集中,但由于存在多个空格和格式,数据被拆分为多个单元格。
Data l1.MD;
infile 'E:\Sasfile\f1.txt' truncover;
input text $char50. @;
run;
我有 50 个这样的文件要上传,因此将每个文件保持为一个单元格是最重要的。我在这里错过了什么?
Data l1.MD;
infile 'E:\Sasfile\f1.txt' recfm=f lrecl=32767 pad;
input text $char32767.;
run;
那就行了。 RECFM=F
告诉 SAS 有固定的行长度(忽略换行符),其他选项将行长度设置为单个变量的最大值(行可以更长,但一个变量限制为 32767 个字符)并填充如果它太短,它带有空格。
如果您的文本文件超过 1 个单元格,您最终只会得到 > 1 个单元格。请注意换行 and/or 回车 return 字符将在该文件中,这可能是好的也可能是坏的。你可以用 '0A'x and/or '0D'x 来识别它们(取决于你的 OS 你可能有一个或两个),你可以用 'c' 选项压缩它们或翻译将它们添加到您喜欢的行分隔符中。
我正在尝试将大型文本文件(报告)作为单个单元格加载到 SAS 数据集中,但由于存在多个空格和格式,数据被拆分为多个单元格。
Data l1.MD;
infile 'E:\Sasfile\f1.txt' truncover;
input text $char50. @;
run;
我有 50 个这样的文件要上传,因此将每个文件保持为一个单元格是最重要的。我在这里错过了什么?
Data l1.MD;
infile 'E:\Sasfile\f1.txt' recfm=f lrecl=32767 pad;
input text $char32767.;
run;
那就行了。 RECFM=F
告诉 SAS 有固定的行长度(忽略换行符),其他选项将行长度设置为单个变量的最大值(行可以更长,但一个变量限制为 32767 个字符)并填充如果它太短,它带有空格。
如果您的文本文件超过 1 个单元格,您最终只会得到 > 1 个单元格。请注意换行 and/or 回车 return 字符将在该文件中,这可能是好的也可能是坏的。你可以用 '0A'x and/or '0D'x 来识别它们(取决于你的 OS 你可能有一个或两个),你可以用 'c' 选项压缩它们或翻译将它们添加到您喜欢的行分隔符中。