LISTステートメントの話

テキストファイルの読み込み(.txt)は奥が深いです。
SAS Base Programmerの資格試験でinput周り(@とか@@の使い方とか)をこれでもかって程、出題してくるので、その時はかなり一生懸命勉強しましたが、普段使わないとどうしても忘れてしまいます。

で、特に流れと関係ないのですが、LISTステートメントの話です。













今、上記のようなテキストファイルがあって、これを読み込みたいとします。

data A1;
infile 'D:\AA.txt';
input X Y $;
run;

で終わりで、なんのこっちゃないです。















ログには上記のように、3レコード読み込まれたことがでていますが、
このログからは読み込んだテキストファイルの中身がどのようなものであったかは
わかりません。
まあ、ファイル開いて、読み込んだデータセット開いて確認すればいいですが、軽くログで
確認する方法として


data A2;
infile 'D:\AA.txt';
input X Y $;
list;
run; 

このようにlistステートメントを入れてやると




















ログが詳しくなって、実際読み込むテキストファイルの各ラインがどんな感じか
わかります。末尾に4とか3とか6など元ファイルにない値がでていますが、
これはその行の末端の位置(レコード長)を示してくれています。

put _all_も似てますが、少し意味が違います。

data A3;
infile 'D:\AA.txt';
input X Y $;
put _all_;
run; 























0 件のコメント:

コメントを投稿