如何从1000个文件夹中的每个文件夹导入100个csv文件

时间:2014-12-26 08:39:20

标签: sas sas-macro

我在名为folder1,folder10,文件夹25,....... folder10200的目录中有1000个文件夹。 这1000个文件夹中的每一个都包含100个csv文件,其名称为file1,file2,..... file100 我需要完成的任务是创建一个数据集,其中包含每个文件夹的file1,file2等中的值的派生变量。 我需要最终得到一个数据集,每个文件夹每个文件有1个观察点。所以总共100 * 1000行 请建议

1 个答案:

答案 0 :(得分:2)

我认为代码是自我解释的,如果你不理解,请告诉我。

  • 假设
  • 文件夹名称类似于 - Folder1,Folder2,Folder3等(尽管你有 否则提到,但不清楚,实际上模式是什么,虽然看起来像是AP)
  • 文件名类似于 - file1,file2,file3等
  • 所有文件都具有相同的确切结构

%macro read_all_files();

%do i=1 %to 1000;
   %do j=1 %to 100;
      data temp;
      infile "\path\folder&i.\file&j..csv";
      input var1 var2;
      run;

Proc append base=final data=temp force;
run;

    %end;
%end
%mend read_all_files();

%read_all_files;