我在逗号分隔的.txt文件中有我的数据。我正在编写一个常规的infile语句将该文件导入到sas数据集中。这些数据大约有250万行。然而,在第37314行和更多行中,我有垃圾值。 SAS仅在垃圾值行上方的行中导入行,因此我没有获得全部250万行但具有37314行的数据集。我想编写一个代码,它在编写这个infile时负责处理这些垃圾行,并且不会接受它们或删除它们。总而言之,我需要所有250万行,因为在垃圾行之间我无法获得。连续的垃圾值(sas)
任何帮助,将不胜感激。
我在逗号分隔的.txt文件中有我的数据。我正在编写一个常规的infile语句将该文件导入到sas数据集中。这些数据大约有250万行。然而,在第37314行和更多行中,我有垃圾值。 SAS仅在垃圾值行上方的行中导入行,因此我没有获得全部250万行但具有37314行的数据集。我想编写一个代码,它在编写这个infile时负责处理这些垃圾行,并且不会接受它们或删除它们。总而言之,我需要所有250万行,因为在垃圾行之间我无法获得。连续的垃圾值(sas)
任何帮助,将不胜感激。
可以读取整行输入缓存使用只是一个
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;
您也可以使用?和??输入语句的修饰符'忽略'任何问题行。
这是link to the doc。查看标题“格式修饰符的错误报告”。
一个例子:
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 –
请发表您的代码 –
什么是垃圾的价值? – itzy