作者teenager7571 (angel)
站內Statistics
標題[問題] sas匯入多個檔案
時間Mon Aug 17 14:27:08 2009
我是sas的新手
從看到有人說可以用macro匯入多個檔案
我的資料來源是北區2005的空氣污染
我已經把檔名改成a001-a026
data a1;
infile 'C:\Users\Angel\空污資料\北區空污資料\94年北部空品區\a001.csv' dlm=','
missover dsd firstobs=2 /*excel檔的第二行變成第一行(直接讀取數字)*/;
informat VAR1 yymmdd10.; /*日期欄位需有十位*/
format VAR1 yymmdd10. ;
input VAR1 VAR2 $ VAR3 $ _ $ VAR5 $ VAR6 $ VAR7 $ VAR8 $ VAR9 $ VAR10 $
VAR11 $ VAR12 $ _0 $ _1 $ _2 $ _3 $ _4 $ _5 $ _6 $ _7 $ _8 $ _9 $ VAR23 $
VAR24 $ VAR25 $ VAR26 $ VAR27 $;
run;
上面是一般的方法
但是還是要把語法複製貼上更改多次
我試著用macro去讀檔
%MACRO a;
%DO ij=01 %TO 26;
DATA a0&ij;
INFILE "C:\Users\Angel\空污資料\北區空污資料\94年北部空品區\a001.csv";
input VAR1 VAR2 $ VAR3 $ _ $ VAR5 $ VAR6 $ VAR7 $ VAR8 $ VAR9 $ VAR10 $
VAR11 $ VAR12 $ _0 $ _1 $ _2 $ _3 $ _4 $ _5 $ _6 $ _7 $ _8 $ _9 $ VAR23 $
VAR24 $ VAR25 $ VAR26 $ VAR27 $;
run;
%END;
%MEND;
%a;
可是讀出來的26個檔內容全部變成了日期
有人可以幫幫我嘛
謝謝>"<
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.235
※ 編輯: teenager7571 來自: 140.112.4.235 (08/17 14:27)
1F:→ kingbee:已經excel檔了 建議寫成import 的巨集語法 08/17 15:14
2F:→ west1996:內容全部變成日期是什麼意思?乍看之下infile後面讀的檔 08/17 15:55
3F:→ west1996:案沒改到,這樣會重複讀同一個檔,不過全部變成日期應 08/17 15:56
4F:→ west1996:該不是這個原因。如果要用macro語法的話,建議先把doloop 08/17 15:56
5F:→ west1996:拿掉。先成功的把"讀一次外部資料"這個動作從原本的data 08/17 15:57
6F:→ west1996:step轉成macro語法確定可以work之後再加上do loop 08/17 15:57
7F:推 chien533:建議用macro+do loop+proc import 輕鬆搞定 08/18 01:05