2016-01-12 116 views
1

我試圖將文本數據文件導入SAS。是這樣的,將文本文件導入SAS:沒有前導零的日期

EmployeeID Birthday Gender 
10001 5/1/1978 Female 
10005 9/16/1982 Male 
... 

這裏是我的代碼,

data employee; 
    infile "employee2015.txt" delimiter=' ' firstobs=2; 
    input employeeid birthday MMDDYY10. gender $; 
run; 

它不工作,因爲日期的長度不固定,所以下一個變量的性別會受到影響(類似於「 emale「會出現)。如果我將其更改爲MMDDYY8。 Gender的專欄中會出現一些數字。

我試過導入生日作爲字符,它看起來不錯,但是當我嘗試格式化爲mmddyy10。會有錯誤報告。我相信必須有一些直接的方法來做到這一點,所以我在這裏尋求幫助...

任何建議將不勝感激。

+0

嘗試'anydtdte.'信息而不是'mmddyy10.' –

回答

3

刪除您的分隔符規範並創建一條informat語句,以正確讀取數據。您可能需要定製informat聲明以滿足您的實際數據需求。

data want; 
informat employeeid $5. birthday mmddyy10. gender $8.; 
format birthday date9.; 
input EmployeeID $ Birthday Gender $; 
cards; 
10001 5/1/1978 Female 
10005 9/16/1982 Male 
; 
run; 

proc print;run; 
+0

非常感謝!問題徹底解決了。不過,我的數據來自文本文件。如果我刪除分隔符說明,導入的數據將全部搞亂。我認爲這就是信息聲明。 –

+0

可能,但SAS使用空格默認分隔符。如果它的選項卡應該被指定爲'09'x。 – Reeza

+0

你是對的...我不知道。 –