没有逗号千的SAS proc导出
SAS proc export without comma thousands
我在 SAS 日志中注意到,当我调用 proc export data=mydata outfile="csv.csv" dbms=csv replace; run;
时,我得到了一个生成的内部集,它声明了逗号数据格式:comma20.3
.
138 format YEAR best12. ;
145 format RATE_SPREAD comma20.3 ;
如何让 proc export
不这样做,并且不使用逗号分隔符进行导出?例如 9000
而不是 9,000
?
很遗憾,PROC EXPORT 不支持 FORMAT 语句。
您可以查看已删除格式的原始数据并将其导出。
data for_export / view=for_export;
set mydata;
format rate_spread ;
run;
proc export data=for_export outfile="csv.csv" dbms=csv replace;
run;
但是您真的不需要使用PROC EXPORT 来编写CSV 文件。数据步骤同样有效。您可能需要做一些工作才能添加 header 行。
proc transpose data=mydata(obs=0) out=names ;
var _all_;
run;
data _null_;
file "csv.csv" dsd ;
set names;
put _name_ @;
run;
data _null_;
file "csv.csv" dsd mod ;
set mydata;
put (_all_) (+0);
format rate_spread ;
run;
我在 SAS 日志中注意到,当我调用 proc export data=mydata outfile="csv.csv" dbms=csv replace; run;
时,我得到了一个生成的内部集,它声明了逗号数据格式:comma20.3
.
138 format YEAR best12. ;
145 format RATE_SPREAD comma20.3 ;
如何让 proc export
不这样做,并且不使用逗号分隔符进行导出?例如 9000
而不是 9,000
?
很遗憾,PROC EXPORT 不支持 FORMAT 语句。
您可以查看已删除格式的原始数据并将其导出。
data for_export / view=for_export;
set mydata;
format rate_spread ;
run;
proc export data=for_export outfile="csv.csv" dbms=csv replace;
run;
但是您真的不需要使用PROC EXPORT 来编写CSV 文件。数据步骤同样有效。您可能需要做一些工作才能添加 header 行。
proc transpose data=mydata(obs=0) out=names ;
var _all_;
run;
data _null_;
file "csv.csv" dsd ;
set names;
put _name_ @;
run;
data _null_;
file "csv.csv" dsd mod ;
set mydata;
put (_all_) (+0);
format rate_spread ;
run;