假设您事先并不知道需要导入的文件的路径,但是您在运行时创建的表中定义了路径。使用宏导入它是不正确的,因为宏在运行时生成,因此宏值无法到达将在运行时创建的数据。
那么,如何在SAS Base(SAS EG,SAS DI,...)中导入一个外部文件,只有在运行时才知道你的路径?
答案 0 :(得分:1)
data test;
Path='/path/to/your/csv/file.csv';
run;
data _null_;
set test;
rc=filename("fid",Path);
run;
data csvData(drop=path);
infile fid;
input ...
run;
假设您已经创建了包含csv文件路径的SAS数据集。然后你需要:
转到"用户书面代码"属性,选项卡"代码" (保持"代码生成模式:User Written Body"),并在代码体中写下以下文本正上方%rcSet(& syserr ...(有时很难看到,但自动生成代码)有一个灰色的背景,你的代码有完整的白色背景):
data null ; set& _INPUT。; RC =文件名(" FID",路径); 运行;
现在创建一个新的"外部文件",设置你想要的元数据(我假设你知道你期望的csv文件格式),