行中的垃圾值(sas)
我的数据保存在一个以逗号分隔的.txt文件中。我正在编写一个常规的infle语句,以便将该文件导入sas数据集。数据约为250万行。然而,在37314行和更多行中,我有垃圾值。SAS只导入比垃圾值行高出一行的行,因此我没有得到一个包含所有250万行的数据集,而是包含37314行。我想写一段代码,在写这个内嵌时,它会处理这些垃圾行,或者不处理它们,或者删除它们。总之,我需要所有的250万行,我不能得到,因为在垃圾行之间行中的垃圾值(sas),sas,Sas,我的数据保存在一个以逗号分隔的.txt文件中。我正在编写一个常规的infle语句,以便将该文件导入sas数据集。数据约为250万行。然而,在37314行和更多行中,我有垃圾值。SAS只导入比垃圾值行高出一行的行,因此我没有得到一个包含所有250万行的数据集,而是包含37314行。我想写一段代码,在写这个内嵌时,它会处理这些垃圾行,或者不处理它们,或者删除它们。总之,我需要所有的250万行,我不能得到,因为在垃圾行之间 任何帮助都将不胜感激。您只需使用一个 Input; 声明。然后可以使用
任何帮助都将不胜感激。您只需使用一个
Input;
声明。然后可以使用
_infile_
变数
例如:
data _null_;
infile datalines firstobs=2;
input;
city = scan(_infile_, 1, ' ');
char_min = scan(_infile_, 3, ' ');
char_min = substr(char_min, 2, length(char_min)-2);
minutes = input(char_min, BEST12.);
put city= minutes=;
datalines;
City Number Minutes Charge
Jackson 415-555-2384 <25> <2.45>
Jefferson 813-555-2356 <15> <1.62>
Joliet 913-555-3223 <65> <10.32>
;
run;
数据\u空\u;
填充数据线firstobs=2;
输入
城市=扫描(_infle,1,');
char_min=扫描(_infle_,3,”);
char_min=substr(char_min,2,长度(char_min)-2);
分钟=输入(字符最小,最佳12);
放置城市=分钟=;
数据线;
城市数分钟收费
杰克逊415-555-2384
杰斐逊813-555-2356
Joliet 913-555-3223
;
跑
只需使用一个
Input;
声明。然后可以使用
_infile_
变数
例如:
data _null_;
infile datalines firstobs=2;
input;
city = scan(_infile_, 1, ' ');
char_min = scan(_infile_, 3, ' ');
char_min = substr(char_min, 2, length(char_min)-2);
minutes = input(char_min, BEST12.);
put city= minutes=;
datalines;
City Number Minutes Charge
Jackson 415-555-2384 <25> <2.45>
Jefferson 813-555-2356 <15> <1.62>
Joliet 913-555-3223 <65> <10.32>
;
run;
数据\u空\u;
填充数据线firstobs=2;
输入
城市=扫描(_infle,1,');
char_min=扫描(_infle_,3,”);
char_min=substr(char_min,2,长度(char_min)-2);
分钟=输入(字符最小,最佳12);
放置城市=分钟=;
数据线;
城市数分钟收费
杰克逊415-555-2384
杰斐逊813-555-2356
Joliet 913-555-3223
;
跑
您也可以使用?和输入语句的修饰符“忽略”任何问题行 这是我的建议。查看标题“错误报告的格式修改器” 例如:
data x;
format my_num best.;
input my_num ?? ;
**
** POSSIBLE ERROR HANDLING HERE:
*;
if my_num ne . then do;
output;
end;
datalines;
a
;
run;
您也可以使用?和输入语句的修饰符“忽略”任何问题行 这是我的建议。查看标题“错误报告的格式修改器” 例如:
data x;
format my_num best.;
input my_num ?? ;
**
** POSSIBLE ERROR HANDLING HERE:
*;
if my_num ne . then do;
output;
end;
datalines;
a
;
run;
不错…不知道修饰符+1不错…不知道修饰符+1