我一直在試圖從具有行像下方,並具有分隔符爲分號的文本文件閱讀:遇到分隔符,直到
Sun rises
in the east
and;
sets in the
west
;
我想讀從分隔符的數據在單單獨的記錄分隔符像下面 變量名
1 Sun rises in the east and
2 sets in the west
我已經嘗試了幾乎所有可用infile
選項無濟於事的選項。是否可以像上面那樣閱讀?怎麼做?任何線索/幫助將不勝感激。
我一直在試圖從具有行像下方,並具有分隔符爲分號的文本文件閱讀:遇到分隔符,直到
Sun rises
in the east
and;
sets in the
west
;
我想讀從分隔符的數據在單單獨的記錄分隔符像下面 變量名
1 Sun rises in the east and
2 sets in the west
我已經嘗試了幾乎所有可用infile
選項無濟於事的選項。是否可以像上面那樣閱讀?怎麼做?任何線索/幫助將不勝感激。
recfm=n
是告訴SAS沒有「換行符」的方法。所以:
data want;
infile "c:\temp\test.txt" recfm=n dsd dlm=';';
length text $1024;
input text $;
run;
注意,換行符將被讀取只是一個兩個字符,所以如果你想刪除這些字符,你可以使用compress
與c
選項刪除控制字符(包括LF/FF)。
讀它一字一句,並連接成更長的線。
data want ;
infile mydat end=eof ;
length word $200 line $2000 ;
drop word;
do while (^eof and ^index(word,';'));
input word @ ;
line = catx(' ',line,compress(word,';'));
end;
if _n_ > 1 or line ne ' ' then output;
run;
謝謝湯姆,請你抽出時間。這也是一個很好的解決方案。 – NEOmen
後你已經試過 – Reeza
已經使用LRECL,LINESIZE嘗試,@@和所有的,沒有他們被給予正確的結果,已經嘗試這麼多東西。 – NEOmen
它看起來像你,如果多個空間被壓縮到一個不在乎?因此,東部和東部將變成東部和東部。如果是這樣,那麼只需逐字閱讀,並在單詞包含分隔符時停止。 – Tom