2014年6月26日木曜日

外部ファイルをいっぺんに読み込んで連結する。


(注意点もあるので、最後までご覧ください)


いくつかのCSVファイルがあったとします。

test1.csv
001,a,11
002,b,22

test2.csv
003,c,33
004,d,44


filenameステートメントで以下青文字部分のようにファイルを列挙すると、まとめて読み込んで連結したデータセットを作ってくれます。

filename  FL  ("パス\test1.csv"  "パス\test2.csv") ;

data OUT1;
  length A B $10. C 8.;
  infile FL dsd truncover;
  input A B C;
run;

 B   C  
 001  a 11
 002 b  22
 003 c 33
 004 d 44


またワイルドカード機能もあり、
アスタリスク(*)を使えば、例えば以下のようにファイル名に”test”がつくCSVファイルをいっぺんに読み込むことも出来ます。


  filename  FL  "パス\test*.csv" ;



注意!
今回紹介した方法では、読み込むファイルのヘッダー部分を「firstobsオプション」でスキップさせたい場合に、うまく動かないので、以下参照ください。



以下で別の方法も紹介してるので、参考までに。。(こちらの方法だと、読み込むファイルのヘッダー部分を「firstobsオプション」でスキップ出来る)


0 件のコメント:

コメントを投稿