SAS导出数据以创建标准和逗号分隔的原始数据文件

时间:2015-08-26 03:53:08

标签: sas

我是sas的新手,并研究不同的方法来完成主题任务。

目前我知道的两种方式

方法1:数据步骤中的文件语句

  *DATA _NULL_ / FILE / PUT ;
data _null_;
    set engappeal;
    file 'C:\Users\1502911\Desktop\exportdata.txt' dlm=',';
    put id $ name $ semester scoreEng;
run;

方法2:Proc Export

proc export
    data = engappeal
    outfile = 'C:\Users\1502911\Desktop\exportdata2.txt'
    dbms = dlm;
    delimiter = ',';
run;

问题:

1,是否有其他方法可以导出原始数据文件

2,是否可以使用数据步骤方法1导出标题

1 个答案:

答案 0 :(得分:0)

您需要在FILE语句中使用DSD选项以确保正确引用分隔符,并且缺少的值不由空格表示。确保将记录长度设置得足够长,包括分隔符和插入的引号。不要担心设置太长,因为线条长度可变。

您可以使用CALL VNEXT查找并输出名称。 LINK语句是循环在数据步骤的后面,以防止__NAME__包含在(_ALL_)变量列表中。

data _null_;
  set sashelp.class ;
  file 'class.csv' dsd dlm=',' lrecl=1000000 ;
  if _n_ eq 1 then link names;
  put (_all_) (:);
  return;
names:
  length __name__ $32;
  do while(1);
    call vnext(__name__);
    if upcase(__name__) eq '__NAME__' then leave;
    put __name__ @;
  end;
  put;
return;
run;