2015-05-29 75 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! :) 謝謝 –