W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
SAS可以從包括許多文件格式的各種源讀取數(shù)據(jù)。 SAS環(huán)境中使用的文件格式如下所述。
這些是包含文本格式數(shù)據(jù)的文件。 數(shù)據(jù)通常由空格分隔,但也可以有不同類型的分隔符,SAS也可以處理它們。 讓我們考慮一個包含員工數(shù)據(jù)的ASCII文件。 我們使用SAS中提供的Infile語句讀取此文件。
在下面的示例中,我們從本地環(huán)境讀取名為emp_data.txt的數(shù)據(jù)文件。
data TEMP; infile '/folders/myfolders/sasuser.v94/TutorialsPoint/emp_data.txt'; input empID empName $ Salary Dept $ DOJ date9. ; format DOJ date9.; run; PROC PRINT DATA=TEMP; RUN;
當(dāng)執(zhí)行上面的代碼,我們可以得到下面的輸出。
這些是數(shù)據(jù)文件,其中列值由定界字符(如逗號或管道等)分隔。在這種情況下,我們使用infile語句中的dlm選項(xiàng)。
在下面的示例中,我們從本地環(huán)境讀取名為emp.csv的數(shù)據(jù)文件。
data TEMP; infile '/folders/myfolders/sasuser.v94/TutorialsPoint/emp.csv' dlm=","; input empID empName $ Salary Dept $ DOJ date9. ; format DOJ date9.; run; PROC PRINT DATA=TEMP; RUN;
當(dāng)執(zhí)行上面的代碼,我們可以得到下面的輸出。
SAS可以使用導(dǎo)入工具直接讀取excel文件。 如章節(jié)SAS數(shù)據(jù)集中所示,它可以處理各種各樣的文件類型,包括MS excel。 假定文件emp.xls在SAS環(huán)境中本地可用。
FILENAME REFFILE "/folders/myfolders/TutorialsPoint/emp.xls" TERMSTR=CR; PROC IMPORT DATAFILE=REFFILE DBMS=XLS OUT=WORK.IMPORT; GETNAMES=YES; RUN; PROC PRINT DATA=WORK.IMPORT RUN;
上面的代碼從excel文件讀取數(shù)據(jù),并給出與上述兩種文件類型相同的輸出。
DEPT:IT DTLS:1:Rick:623 DTLS:3:Mike:611 DTLS:6:Tusar:578 DEPT:OPS DTLS:7:Pranab:632 DTLS:2:Dan:452 DEPT:HR DTLS:4:Ryan:487 DTLS:2:Siyona:452
要讀取分層文件,我們使用下面的代碼,其中我們使用IF子句標(biāo)識頭記錄,并使用do循環(huán)來處理詳細(xì)信息記錄。
data employees(drop=Type); length Type $ 3 Department empID $ 3 empName $ 10 Empsal 3 ; retain Department; infile '/folders/myfolders/TutorialsPoint/empdtls.txt' dlm=':'; input Type $ @; if Type='DEP' then input Department $; else do; input empID empName $ Empsal ; output; end; run; PROC PRINT DATA=employees; RUN;
當(dāng)執(zhí)行上面的代碼,我們可以得到下面的輸出。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: