外部ファイルを読み込む

Excelファイルを読み込み、データセット化するマクロ

%macro ImportExcel(i_file_path=, i_sheet_name=, ods_output_name=);
    proc import datafile=&i_file_path out=&ods_output_name. dbms = xlsx replace;
        getnames = yes;
        sheet = &i_sheet_name.;
    run;
%mend ImportExcel;

外部CSVファイルをproc importプロシジャで読み込み、データセット化する

proc import datafile='C:\SAS_Study\test.csv' out=work.work.test dbms=csv replace;
    getnames = yes;
    datarow = 2;
run;
filename input_data = 'C:\SAS_Study\input_data.txt' 
proc import datafile=input_data out=work.test dbms= replace;
    getnames = yes;
run;

外部CSVファイルをdataステップで読み込み、データセット化する

filename sample "C:\SAS_Study\test2.csv";
data work.test;
    infile sample dim="," firstobs=2;
    input id:$8. name:$32. class:8.;
run;

外部ファイルの読み込み(proc import)

サンプル
proc import datafile='C:\SAS_Study\test.csv' out=work.test dbms=csv replace;
    getnames = yes;
    datarow = 2;
run;
filename input_data = 'C:\SAS_Study\input_data.txt'
proc import datafile=input_data out=work.test dbms=tab replace;
    getnames = yes;
run;
オブション

proc importから;までの間にスペース区切りで記述する。

オプション 指定する内容 説明
datafile= ファイルパス
or ファイル参照名
「入力ファイルのフルパス」または「filenameステートメントで定義したファイル参照名」を指定
out= データセット名 転置後のデータセットを指定
dbms= データソース名 外部ファイルのデータの種類を指定
xlsx / csv / tab / dlm(delimiterステートメントと併用)
replace - 出力データセットを上書きする場合は指定
プロシジャ内ステートメント

proc import ~;からrun;までの行に記述する。

ステートメント 指定する内容 説明
getnames= yes / no 列名情報をファイルから取得するかどうかを指定
sheet= Excelシート名 読み込むシート名を指定(dbms=xlsxの場合のみ有効)

infileステートメント

filename test_data "C:\SAS_Study\test2.csv";
data work.test;
    infile test_data dim="," firstobs=2;
    input id:$8. name:$32. class:8.;
run;