%let dirname = C:\Users\data;
filename DIRLIST pipe 'dir/B &dirname\*.dbf';
/* Create a data set with one observation for each file name */
data dirlist;
length fname $8.;
infile dirlist length=reclen;
input fname $8.;
run;
data all_text (drop=fname);
set dirlist;
filepath = "&dirname\"||fname||".dbf";
infile dummy filevar = filepath length=reclen end=done missover;
do while(not done);
INPUT
F1 : 2.
F2 : 2.
F3 : 2.
F4 : 10.
F5 : 4.;
output;
end;
run;
問題是,它只是讀取每個文件的第一行,而不是整個文件,然後再轉到下一個文件。變量F1也顯示爲丟失。如何導入SAS中的多個.dbf文件
歡迎提出建議
我試圖使用宏和管道在SAS中導入多個.dbf文件。我之前已經使用在線提供的標準代碼,針對不同的文件格式完成此操作,但我無法爲.dbf文件執行此操作。 我的數據結構如下,它對於所有文件 變量都是一樣的:A-數字長度2; B - 數字長度2; c - 數字長度2; D - 最大數字長度10;電子數字長度4; 此外,每個文件名都遵循xxx_xxxx.dbf –
您的代碼用於讀取文本文件。要讀取DBF文件,請使用PROC IMPORT而不是DATA STEP。 – Tom
我相信我一次可以對一個文件使用PROC IMPORT。但是我需要導入超過300個.dbf文件並將其附加到一個文件中。使用PROC IMPORT進行編碼的示例代碼將非常有幫助 –