SAS中的文件选项
file options in SAS
我有一个 .txt 文件,例如下面的.txt文件(txt_file)有4行,第2行和第3行前面有空格。我正在尝试使用文件语句来制作副本。但是,第二行和第三行的空格消失了。
所以我想知道我是否可以使用一个选项来保留空格,或者使用另一种方法来保留空格,以确保副本与原始副本完全相同。
abcd efg hijklmn opqrst
6bho jghvgu
3hnopkop
1bji njpb 78nhiobhio
data _null_;
set txt_file;
file "c:/txt_file_dup" notitles noprint ;
run;
复制文本最简单的方法是使用 _INFILE_
自动变量。
data _null_;
infile 'original_file.txt';
file 'new_copy.txt' ;
input;
put _infile_;
run;
要将数据从数据集写入文本文件,请使用 PUT 语句。要保留数据中的前导空格,请在 PUT 语句中使用 $CHAR 或 $VARYING 格式。因此,假设你有一个名为 HAVE 的数据集,其中有一个名为 LINE 的字符变量,长度为 80,你可能会这样做:
data _null_;
set have;
file 'want.txt' ;
put line $char80.;
run;
或者为了不写尾随空格,请改用 $VARYING 格式。要使用它,您需要一个包含要写入的字节数的变量。
data _null_;
set have;
file 'want.txt' ;
len=lengthn(line);
put line $varying80. len;
run;
使用FCOPY
函数。
filename source 'original.txt';
filename destin 'original(copy).txt';
%let rc = %sysfunc(FCOPY(source,destin));
文件名可以是网址,也可以是本地文件系统。
我有一个 .txt 文件,例如下面的.txt文件(txt_file)有4行,第2行和第3行前面有空格。我正在尝试使用文件语句来制作副本。但是,第二行和第三行的空格消失了。 所以我想知道我是否可以使用一个选项来保留空格,或者使用另一种方法来保留空格,以确保副本与原始副本完全相同。
abcd efg hijklmn opqrst
6bho jghvgu
3hnopkop
1bji njpb 78nhiobhio
data _null_;
set txt_file;
file "c:/txt_file_dup" notitles noprint ;
run;
复制文本最简单的方法是使用 _INFILE_
自动变量。
data _null_;
infile 'original_file.txt';
file 'new_copy.txt' ;
input;
put _infile_;
run;
要将数据从数据集写入文本文件,请使用 PUT 语句。要保留数据中的前导空格,请在 PUT 语句中使用 $CHAR 或 $VARYING 格式。因此,假设你有一个名为 HAVE 的数据集,其中有一个名为 LINE 的字符变量,长度为 80,你可能会这样做:
data _null_;
set have;
file 'want.txt' ;
put line $char80.;
run;
或者为了不写尾随空格,请改用 $VARYING 格式。要使用它,您需要一个包含要写入的字节数的变量。
data _null_;
set have;
file 'want.txt' ;
len=lengthn(line);
put line $varying80. len;
run;
使用FCOPY
函数。
filename source 'original.txt';
filename destin 'original(copy).txt';
%let rc = %sysfunc(FCOPY(source,destin));
文件名可以是网址,也可以是本地文件系统。