rko*_*ann 29
something along these lines?
proc export data=sashelp.class
outfile='c:\temp\sashelp class.csv'
dbms=csv
replace;
run;
Run Code Online (Sandbox Code Playgroud)
小智 11
5种不同的方法来创建SAS数据集的.CSV文件.
参考http://studysas.blogspot.com/2009/02/how-to-create-comma-separated-file-csv.html
这里的答案已经解决了创建csv的多种方法,但不一定是这些方法的效率。我创建了一个temp包含100,000行和五列的示例数据集(),以测试和比较将sas数据集导出到名为的csv的方法temp.csv。
第一种方法:导出过程。运行时间:0.43秒。
PROC EXPORT data=temp
outfile="temp.csv" dbms=csv replace;
Run Code Online (Sandbox Code Playgroud)
选择其他选项时,运行时间短且具有开箱即用的灵活性。话虽如此,它并不是最适合定制的产品
第二种方法:带打印程序的ODS。运行时间:14.09秒。
ODS csv file="temp.csv";
PROC PRINT data=temp noobs;
RUN;
ods csv close;
Run Code Online (Sandbox Code Playgroud)
尽管存在一些特殊用例,但对于大多数用例,此方法是这三种方法中最差的一种。这对于以前编写的过程的临时输出非常有用,尤其是如果您希望输出保留在lst文件中(如果它不太大)。当您想将另一个过程(例如,复杂的过程tabulate)转换为文件而无需进一步操作时,它也可能很有用。如果不需要在第一个文件中打印输出,请关闭列表(ods listing close),否则将花费更长的时间。
第三种方法:File Statement。运行时间:0.06秒。
DATA _null_;
FILE "temp.csv ";
SET temp;
put (_all_) (',');
RUN;
Run Code Online (Sandbox Code Playgroud)
尽管此方法的性能还不错,但它并不直观且令人困惑。但是,如上所述,您将对输出有更多的控制,并且它具有所有输出中最快的运行时间。