2016-05-05 15 views
0

タブ区切りのx'05'c(dlm = '0C'x)でファイルを読み込む必要があります。ほとんどのレコードでは、区切り文字は二重引用符で囲まれた文字列内にあります。入力文で '&'を使用しているときは正常に動作していますが、複数のスペースを持つレコードでエラーが発生しています。私は読む必要があり二重引用符で区切られたファイルを読む方法

データ:希望

1.AIRWORLDWIDE.z1234565 
2.MEDICAL.y121546 
3."INPUTTTFAM.ILY TRUST" 

出力:

ID  text   text_ref 
----------------------------------- 
1  AIRWORLDWIDE z1234565 
2  MEDICAL  y121546 
3  "INPUTTTFAM ILY TRUST" 

マイプログラム:事前に

Data Want; 

format id $char1. 
text $char12. 
text_ref $char12.; 

informat id $char1. 
text $char12. 
text_ref $char12.; 

length id text text_ref; 

infile have dlm='0C'x dsd END=eof missover ; 

input id text text_ref; 

/* input id (text text_ref) (& $12.); */ 

run; 

おかげ

答えて

1

DSDはINFILEのオプションではありませんあなたはここにいます。

filename FT15F001 temp; 
data want; 
    infile FT15F001 dlm='.' missover; 
    informat id $char1. text $char12. text_ref $char12.; 
    input (_all_)(:); 
    list; 
    parmcards; 
1.AIRWORLDWIDE.z1234565 
2.MEDICAL.y121546 
3."INPUTTTFAM.ILY TRUST" 
;;;; 
    run; 
proc contents varnum; 
    run; 
proc print; 
    run; 

enter image description here

+0

答えをいただき、ありがとうございます。しかし、もう少し説明してください、どうしてDSDを使うべきではないですか? – Bharath