官术网_书友最值得收藏!

2.4 導入其他格式的數據文件

做數據分析時有很多數據是來自其他軟件的,比如Oracle和MySQL導出的數據是以逗號分隔的,其文件后綴為“.csv”,還有.txt、.xls、.sav等格式的數據。在用SAS EG進行數據分析之前,我們必須先將這些外部數據導入SAS系統。通過本節的學習,讀者可以將不同格式的數據導入SAS,以便做后續處理。

2.4.1 SAS EG實現方式

下面以導入一個Excel文件為例來講解導入數據過程中各選項的設置。

1)選擇數據類型“Excel工作簿”,單擊“瀏覽”按鈕選擇文件導入之后存放的邏輯庫并設置文件名。本例中的外部導入文件存放在WORK下,命名為CLASS,如圖2-18所示。

029-01

圖2-18 選擇數據類型“Excel工作簿”

2)選擇要導入的工作表。若導入的數據中含有多個表單,則需要指定具體的表單;若工作表不是從A1單元格開始讀入數據的,則需要選擇“使用工作表中特定范圍的單元格”,指定數據的存放范圍。根據數據的情況,選擇數據源是否首行范圍內包含字段名稱,若不選擇,SAS會以默認的F1、F2命名,如圖2-19所示。

030-01

圖2-19 選擇數據源

3)單擊“下一步”按鈕,看SAS EG對變量的認定是否與源數據一致,若不一致,選中該行變量,單擊右下方的“修改”按鈕,選中“在輸出數據集中包含字段”,并對變量的名稱、標簽、類型、輸入格式和輸出格式進行修改,如圖2-20所示。

030-02

圖2-20 定義字段屬性

4)單擊“下一步”按鈕,得到如圖2-21所示界面。若選擇“在生成的SAS代碼中嵌入數據(E)”選項,則輸出中的SAS程序可重復運行或與其他用戶共享;“盡可能使用SAS/ACCESS Interface to PC Files導入數據”復選框表示要使用導入數據,若不選該選項,將使用數據步導入數據;若要刪除會導致傳輸錯誤的字符,請選中“從基于文本的數據文件中刪除會導致傳輸錯誤的字符”復選框。若導入的文件中包含服務器所不支持的語言的字符,則可能要選擇該選項,例如,導入的Microsoft Excel文件中包含日語字符,因為服務器的語言/區域為法語,無法識別某些日語字符,所以要選中該選項。若導入的是文本文件,且要在存儲過程中包括用于導入該文本文件的代碼,請選擇在SAS EG外運行的導入步驟。當運行存儲過程時,若服務器可訪問原始的文本文件,則不會生成臨時的文本文件。你在“導入”任務中指定的分隔符會用在生成的SAS代碼中。

031-01

圖2-21 高級選項

2.4.2 SAS程序實現方式

以上講解了手工導入數據的方法,下面使用編程方式實現。

1)讀入Excel格式的數據,代碼如下:

proc import out=bankdata.class
datafile= "E:\BANKDATA\class.xls"
dbms=excel replace;
getnames=yes;
run;

2)讀入TXT格式的數據,代碼如下:

proc import out=bankdata.class
datafile= "E:\BANKDATA\class.txt"
dbms=TAB replace;
getnames=yes;
run;

[1]由于SAS對大小寫不敏感,后續的數據集名稱、程序名稱等不再區分大小寫,對大小寫敏感的地方會特別說明。

主站蜘蛛池模板: 炉霍县| 霞浦县| 北川| 梁平县| 兴化市| 新竹县| 梅州市| 平舆县| 林州市| 南投县| 蒙山县| 京山县| 巴林左旗| 砚山县| 东城区| 綦江县| 观塘区| 永修县| 彭水| 连城县| 江口县| 刚察县| 灌南县| 合山市| 南涧| 兴隆县| 峡江县| 获嘉县| 囊谦县| 营口市| 安陆市| 子洲县| 大同县| 双鸭山市| 濮阳市| 平果县| 惠来县| 历史| 锡林郭勒盟| 京山县| 高州市|