CSVファイルの入力方法について

[OS] ALL
[リリース] SAS System 8以降
[キーワード] Base, CSV, text, IMPORT wizard, IMPORT procedure

[質問]

CSVファイルを簡単に入力する方法はありますか。

[回答]

CSVファイルを入力するには、下記の2通りの方法があります。

  • インポートウィザードを使用して対話式に入力する方法
  • プログラム(IMPORTプロシジャ)を使用して入力する方法

以下に、それぞれの方法について手順を解説します。

インポートウィザードを使用して対話式に入力する方法

  1. メニューから[ファイル] → [データのインポート]を選択します。

  2. 「インポートタイプの選択」ウィンドウが表示されます。
    「カンマ区切り(*.csv)」を選択して、「次へ」をクリックします。

  3. 「ファイルの選択」ウィンドウが表示されます。
    「参照」ボタンをクリックして入力するファイルを選択するか、パスとファイル名を入力して、「次へ」をクリックします。

    ※「オプション」の設定
    下記の場合は「オプション」ボタンをクリックして設定を変更してください。
    • 先頭行が変数名でない場合は、「先頭行を変数名として使う」のチェックをはずす
    • データの開始行が2行目でない場合は、開始行を変更する

  4. 「ライブラリとメンバーの選択」ウィンドウが表示されます。
    作成するSASデータセットを保存するライブラリと、データセット名を指定します。
    ここで「完了」ボタンをクリックすると終了です。インポートウィザードが生成した、ファイルを入力するためのプログラムを保存する場合は、さらに「次へ」をクリックします。

  5. 「SASステートメントの作成」ウィンドウが表示されます。
    「参照」ボタンをクリックしてパスを選択してファイル名を指定するか、パスとファイル名を入力して、「完了」をクリックします。

プログラム(IMPORTプロシジャ)を使用して入力する方法

PROC IMPORTステートメント
OUTオプション 出力するSASデータセットを「ライブラリ参照名.データセット名」形式で指定する
DATAFILEオプション 入力するCSVファイルのパスとファイル名を指定する
DBMSオプション CSVファイルの場合は「CSV」を指定する
REPLACEオプション 出力データセットが存在したら置き換えを行なう場合に指定する
GETNAMESステートメント 先頭行を変数名として使う場合は「YES」を指定する
DATAROWステートメント データの開始行を指定する

プログラム例:


   PROC IMPORT OUT= libref.data 
               DATAFILE= "c:\temp\class.csv" 
               DBMS=CSV REPLACE;
        GETNAMES=YES;
        DATAROW=2; 
   RUN;

なお、IMPORTプロシジャの詳細は、オンラインヘルプ等をご参照ください。