複引用符に囲まれたカンマ区切りのデータの読み込みについて

[OS] ALL
[リリース] ALL
[キーワード] Base, DATA, CSV, double quotation, tilde format modifier

[質問]

複引用符(ダブルクォーテーション)に囲まれたカンマ区切りのデータがあります。
複引用符をデータとして読み込むには、どのようにすればよいでしょうか。

[回答]

カンマ区切りのデータを読み込むには、INFILEステートメントにDSDオプションを利用します。
このDSDオプションでは、複引用符をデータとして扱いません。

複引用符がデータとして必要な場合は、「~ (チルダ)フォーマットモディファイヤ」をINPUTステートメントに追加することで対応可能です。

以下の例では、「aa」、「bb」、「cc」の3変数からなるカンマ区切りのデータを読み込み、「bb」のデータに対して複引用符をそのままデータとして読み込んでいます。

例:複引用符つき、カンマ区切りデータを読み込む


  DATA data1;
    INFILE DATALINES DSD;
    LENGTH aa bb cc $10;
    INPUT aa bb ~ cc;
  CARDS;
  "DATA1","DATA2","DA,TA3"
  "DATA4",,"DATA5"
  ;
  RUN;