我在逗號分隔的.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