CSV形式(コンマ区切り形式)外部ファイルの読み込み

[OS]ALL
[リリース]
[キーワード] CSV,EXTERNAL FILE

[質問]

CSV形式(コンマ区切り形式)の外部ファイルをSASで読み込み、SASデータセットに変換しようと思います。 次のように、コンマが連続する様な内容の外部ファイルを読み込むときに、コンマを飛ばして値を読み込んでしまいます。 つまり、表1のように、2オブザベーション目の変数Bが欠損値とならず、変数Bに値5が格納されてしまいます。

表2のように、もとの外部ファイルと同じ並びで変数に読み込ませる方法を教えてください。

csv.txt ファイル

1, 2, 3
4,  , 5
6, 7, 8

SASデータセット

data a;
   infile 'csv.txt' dlm=',' missover;
   input a b c;
run;

表1                    表2

 OBS   A    B    C      OBS   A    B    C
--------------------   --------------------
  1    1    2    3       1    1    2    3
  2    4    5            2    4         5
  3    6    7    8       3    6    7    8


[回答]

SAS 6.07以降、INFILEステートメントにdsdオプションを付加して下さい。

   infile 'csv.txt' dlm=',' dsd;

なお、dsdオプションを指定した場合には、コンマがデリミタとみなされますので、dlm=' ,'の指定は省略できます。