假设您事先不知道需要导入的文件的路径,但是您在运行时创建的表中定义了该路径。使用宏导入它是不正确的,因为宏是在运行时之前生成的,因此宏值无法到达将在运行时创建的数据。
那么,如何在 SAS Base(SAS EG、SAS DI、...)中导入外部文件,您只知道在运行时的路径?
假设您事先不知道需要导入的文件的路径,但是您在运行时创建的表中定义了该路径。使用宏导入它是不正确的,因为宏是在运行时之前生成的,因此宏值无法到达将在运行时创建的数据。
那么,如何在 SAS Base(SAS EG、SAS DI、...)中导入外部文件,您只知道在运行时的路径?
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 数据集。然后你需要:
转到“用户编写的代码”属性,选项卡“代码”(保持“代码生成模式:用户编写的正文”),并在代码正文的正上方写下以下文本 %rcSet(&syserr... (有时很难看,但自动生成的代码有灰色背景,你的代码有完整的白色背景):
数据空;设置 &_INPUT.; rc=filename("fid",路径); 跑;
现在创建一个新的“外部文件”,设置你想要的元数据(我假设你知道你期望的 csv 文件格式),并且