【SAS BASE】IMPORT過程(適用於CSV文件及其他分隔符文件)


1、PROC IMPROT的特點

  • 默認情況下,PROC IMPORT掃描數據文件的前20行,並據此為變量分配變量類型(數值型or字符型);
  • 自動為字符型變量分配長度,為數值型變量分配格式為BEST32(自己總結,不一定對);
  • 將連續的兩個分隔符看作是缺失值;
  • 讀入某一行數據時,若該行數據不足以分配給變量,則分配后面的變量為缺失值:

2、PROC IMPORT的一般形式為:

1 PROC IMPROT DATAFILE='filename' OUT=data-set;

 

 

 

  • DBMS Identifier和REPLACE: SAS會通過文件的擴展名來決定文件類型,例如 .csv(DBMS=CSV)和 .txt(DBMS=TAB)。若文件不是CSV或者TXT文件,則需要在IMPORT語句后面加上DBMS=option選項。另外,為防止已有與OUT=data-set同名的文件,加上REPLACE來覆蓋。

 

1 PROC IMPROT DATAFILE='filename' OUT=data-set DBMS= REPLACE;

 

  • 其他常用options:
1 /*options of PROC IMPORT*/
2 Datarows=n  *從第n行開始讀入數據,默認值是1;
3 Delimiters='delimiter'  *適用於分隔符不是comma、tab、space的情形,默認space;
4 Getnames=NO  *命令SAS不要從input文件中的第一行讀入變量名,變量名為VAR1、VAR2。。。默認值為YES;
5 GUESSINROWS=N  *利用前n行來決定變量類型,默認為20;注意並不是放在PROC IMPROT后面,而是另取一行。

 

1 PROC IMPORT DATA='D:\用戶\CHENYING146\Desktop\CY\數據需求\20140724_gcg\data\ZC_0531.csv' 
2                                 OUT=DATA.ZC_0531 DBMS=CSV REPLACE;
3 GUESSINGROWS=2000;
4 RUN;
5   

 

 

 

3、PROC IMPORT導入EXCEL文件:

 

1 PROC IMPORT DATAFILE='file-name.xls' 
2                      OUT=data-set 
3                      DBMS=Excel/XLS 
4                      SHEET=”sheet-name“ 
5                      RANGE="sheetname$UL:LR" 
6                      GETNAMES=NO REPLACE;

 

備注:1. DBMS=Excel默認讀取僅前8行來判別變量的類型,而DBMS=XLS會讀取所有行;2. UL:例子R2C1,到cell級

4、PROC IMPORT導入ACCESS文件:

 

1 PROC IMPORT DATATABLE=table-name.mdb'
2                      OUT=data-set
3                      DBMS=ACCESS/ACCESS97 REPLACE;
4 DATABASE=‘database-path’;

 

備注:特別要注意,導入ACCESS文件時,需要用DATATABLE=選項和DATABASE=語句


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM