使用 libname 从 SAS 打印 CSV 文件
Print a CSV file from SAS using libname
我正在尝试从我使用 PROC SQL
创建的 table 将数据从 SAS 导出到 CSV 文件中。 (test_data 是使用 PROC SQL Select
语句创建的)
我尝试了以下代码:
LIBNAME libout "C:\Users\Outbox";
proc export data=test_data dbms=csv replace outfile="&libout.\test_data.csv";
run;
当 运行 截断此代码时,出现以下错误:
ERROR: Physical file does not exist, C:\windows\system32\&libout.\test_data.csv.
我知道我可以使用 outfile
的字符串直接指定路径,但我正在尝试使用 LIBNAME
以便稍后在另一个系统中应用。
提前致谢。
如果要存储 SAS 数据集,您将使用库名。在这种情况下,你想保存一个csv文件,所以你只需要一个宏:%let libout = "C:\Users\Outbox";
libname
用于 SAS 数据集; filename
用于文件。
filename fileout "C:\Users\Outbox\test_data.csv";
proc export data=test_data dbms=csv replace outfile=fileout;
run;
如果您只想指定目录,也可以使用宏变量,类似于 Superfluous 的回答。但是不要在那里用引号引起来。
%let outdir = c:\users\outbox;
proc export data=test_data dbms=csv replace outfile="&outdir.\test_data.csv";
run;
在任何一种情况下,您都可以在一个位置指定文件名或宏变量,然后在非常不同的位置使用它,它们不必是连续的 - 就像 libnames 一样。
我正在尝试从我使用 PROC SQL
创建的 table 将数据从 SAS 导出到 CSV 文件中。 (test_data 是使用 PROC SQL Select
语句创建的)
我尝试了以下代码:
LIBNAME libout "C:\Users\Outbox";
proc export data=test_data dbms=csv replace outfile="&libout.\test_data.csv";
run;
当 运行 截断此代码时,出现以下错误:
ERROR: Physical file does not exist, C:\windows\system32\&libout.\test_data.csv.
我知道我可以使用 outfile
的字符串直接指定路径,但我正在尝试使用 LIBNAME
以便稍后在另一个系统中应用。
提前致谢。
如果要存储 SAS 数据集,您将使用库名。在这种情况下,你想保存一个csv文件,所以你只需要一个宏:%let libout = "C:\Users\Outbox";
libname
用于 SAS 数据集; filename
用于文件。
filename fileout "C:\Users\Outbox\test_data.csv";
proc export data=test_data dbms=csv replace outfile=fileout;
run;
如果您只想指定目录,也可以使用宏变量,类似于 Superfluous 的回答。但是不要在那里用引号引起来。
%let outdir = c:\users\outbox;
proc export data=test_data dbms=csv replace outfile="&outdir.\test_data.csv";
run;
在任何一种情况下,您都可以在一个位置指定文件名或宏变量,然后在非常不同的位置使用它,它们不必是连续的 - 就像 libnames 一样。