SAS数据导入导出
SAS數據集:直接輸入數據;從數據庫軟件導入數據,如Excel、Access、Oracle等
????????SAS建立的數據集默認存放在資源管理器中邏輯庫的work文件夾中,但是一旦關閉SAS,work文件夾會自動清空。建立在work中的數據集稱為臨時數據集,建立在非work文件夾中的數據集稱為永久數據集,數據集名前加入相應文件夾前綴(該文件夾必須已經存在邏輯庫中)就把該數據集存放在了對應的文件夾中,即data 文件夾名.數據集名;
????????邏輯庫中建立一個自己的文件夾用來存放用戶建立的數據集(建立永久庫):第一種方法,在自己的電腦上建立一個文件夾,打開SAS資源管理器的邏輯庫,空白處右擊選擇新建,出現“新建邏輯庫”窗口,填寫文件夾名稱,引擎默認,路徑選擇電腦上創建的文件夾,最后確認即可,對于自己建立的邏輯庫,在調用數據集之前需要用libname語句把邏輯庫與文件夾關聯起來;第二種方法,利用SAS語句創建,libname 新建邏輯庫文件夾名 “硬盤上文件夾路徑”;;第三種方法,永久數據庫也可以直接利用SAS語句直接指定一個路徑和數據集名稱,data “硬盤上文件夾路徑\新建數據庫名”;,例如 data “g:\study\first”;,意思就是在G盤的study文件夾中創建了名為first的數據集,與此同時,邏輯庫中自動生成了名為“Wc000001”的文件夾,該文件夾中也有first數據集,在調用時可以直接寫路徑。
????????從數據庫軟件導入數據:通過菜單導入;用SAS語句直接導入,即data步或者利用PROC IMPORT,如下:
/*data步導入list input導入*/ data stu1; infile "C:\Users\acer\Desktop\input.txt" encoding='utf-8' firstobs=2 obs=2 dlm=' '; input name $ age birth yymmdd8. address :$20.; format birth yymmdd10.; run;/*data步column input導入*/ data stu2; infile "C:\Users\acer\Desktop\input.txt" encoding='utf-8' firstobs=6 obs=8; input name $ 1-4 age 5-6 birth 7-14 month 11-12 address $ 15-32; /*format birth yymmdd8.; ?怎么改變它的樣式*/ run;/*dlm和missover選項演示*/ data stu3; infile "C:\Users\acer\Desktop\input.txt" encoding='utf-8' firstobs=10 obs=12 missover dlm=","; input name $ age birth yymmdd8. address :$200.; /*因為有缺失值所有不能采用固定列導入*/ format birth yymmdds10.; run;/*import演示*/ proc import datafile="C:\Users\acer\Desktop\example.xlsx" out=stu dbms=xlsx replace; sheet="sheet1";/*將C:\Users\acer\Desktop中的example.xlsx文件的表sheet1導入在SAS軟件中并將其命名為stu*/ getnames=yes;/*是否獲取列名*/ datarow=2;/*從第幾行開始讀取數據*/ run;從SAS軟件導出數據,利用PROC EXPORT實現,
/*export演示*/ proc export data=stu outfile="C:\Users\acer\Desktop\stu.xlsx" dbms=xlsx replace; sheet="信息";/*將SAS軟件中的stu表導在C:\Users\acer\Desktop的位置名稱為stu,格式為xlsx,表名為信息*/ run;SAS日期型數據的輸出的特殊說明:SAS識別日期會自動轉換為從1960年1月1日到輸入日期的天數。日期型數據變量的輸入時要寫輸入格式?但輸出時一定要寫輸出格式
總結
- 上一篇: poi导出excel 损坏_急!!!ja
- 下一篇: wincc上位机与1200组态步骤_西门