2015-05-29 74 views
0

我想加载一个大的文本文件(报告)作为SAS数据集中的单个单元格,但由于多个空格和格式化数据正在拆分成多个单元格。长文本文件到SAS数据集

Data l1.MD; 
infile 'E:\Sasfile\f1.txt' truncover; 
input text $char50. @; 
run; 

我有50个这样的文件要上传,因此保持每个文件作为一个单元格是最重要的。我在这里错过了什么?

+1

请张贴一些你的文本文件的样子。 – user667489

+0

你只需要1个变量和1个观察值?文本文件有多大?你已经让变量只有50个字符长......它只能保存前50个字符。 – DomPazz

回答

1
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'选项压缩它们或将它们转换为您偏好的行分隔符。

+0

我试过了,但是没有使用$ char32767! :) 谢谢 –