楼主: burnpark
6079 14

excel 批量导入 [推广有奖]

11
醉_清风 发表于 2010-2-23 17:05:59
soporaeternus 发表于 2010-2-23 16:38
楼上的程序头上加上
1用pipe导入所有文件夹下的xls文件名
2宏变量控制这些文件名逐个libname
这样可以导入文件夹下所有xls文件

另外多说一句
libname xls文件后,可以用contents的out数据集获得具体的sheet名,再用宏变量控制就获得了所有文件名和SHEET名的参数,接下来循环导入就可以了,方法就随便了......
很好很强大 膜拜
从来不需要想起 永远也不会忘记

12
soporaeternus 发表于 2010-2-23 17:07:45
10# nkwilling

  1. %let Pth_Nme=**YOUR XLS FILE PATH**;
  2. filename in pipe "dir &Pth_Nme\*.xls /b";
  3. data a;
  4. infile in;
  5. input File_Name:$100.;
  6. run;
  7. proc sql;
  8. select File_Name into:File_Name separated by "|" from a;
  9. quit;
  10. %put &File_Name;
复制代码
试下......
还有我发现libname xls文件,sheet名对应的data里,首行被做变量了,类似于getname=yes,对于首行就是数据的sheet需要注意
Let them be hard, but never unjust

13
08liurenxing 发表于 2010-2-23 17:24:03
宏,一定要学好

14
soporaeternus 发表于 2010-2-23 21:45:46
修正下,libname可以直接加getnames 选项 我错打成了getname,默认是yes,指定为no就可以了,小白了
Let them be hard, but never unjust

15
hongxx 发表于 2010-3-1 09:34:48
这是一篇SAS的paper讨论这个批量导入excel和n多sheet时的方法。绝对经典。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-19 22:14