我需要将数据集导出为可能在Unix上运行的古老批处理的文本文件。该文件有一列,所有字段都是数字。
我想创建一个文本文件,模仿Excel创建文本(MS-DOS)文件的方式:
将工作簿另存为制表符分隔的文本文件,以便在MS-DOS上使用 操作系统,并确保选项卡字符,换行符和 其他字符被正确解释。仅保存活动 片材。
实现这一目标的最佳方法是什么?
答案 0 :(得分:2)
DOS uses encoding page 437,这是一组非常有限的字符。如果你没有任何特殊字符,那就很好。如果您确实有特殊字符,则需要将编码页面更改为437以保证字符兼容性。这可以作为dataset
选项完成。
SAS internally names this pcoem437
。您可以通过更改encoding=
选项来查看输出的差异。
data have;
input var$;
datalines;
ElNiño
ElNino
;
run;
proc export data=have(encoding=pcoem437)
file='C:\Directory\want.txt'
dbms=tab
replace;
run;
答案 1 :(得分:1)
如果您只有一列,那么分隔符并不重要。您可以非常轻松地使用DATA步骤编写文件。
data _null_;
set have ;
file 'myfile.txt' ;
put VAR1 ;
run;
如果要添加带列名的额外行,请在PUT语句之前添加此行。
if _n_=1 then put 'VAR1';
如果您担心是否需要为行尾生成LF或CRLF,可以使用FILE语句中的TERMSTR=
选项控制它。