我想加载一个大的文本文件(报告)作为SAS数据集中的单个单元格,但由于多个空格和格式化数据正在拆分成多个单元格。长文本文件到SAS数据集
Data l1.MD;
infile 'E:\Sasfile\f1.txt' truncover;
input text $char50. @;
run;
我有50个这样的文件要上传,因此保持每个文件作为一个单元格是最重要的。我在这里错过了什么?
我想加载一个大的文本文件(报告)作为SAS数据集中的单个单元格,但由于多个空格和格式化数据正在拆分成多个单元格。长文本文件到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的单元格。请注意,换行符和/或回车符将位于此文件中,该文件可能很好或可能很糟糕。您可以用'0A'x和/或'0D'x(取决于您可能有一个或两个操作系统的操作系统)来标识它们,并且可以使用'c'选项压缩它们或将它们转换为您偏好的行分隔符。
我试过了,但是没有使用$ char32767! :) 谢谢 –
请张贴一些你的文本文件的样子。 – user667489
你只需要1个变量和1个观察值?文本文件有多大?你已经让变量只有50个字符长......它只能保存前50个字符。 – DomPazz