楼主: haibara8
3233 5

[问答] 如何高效率的批量拼接数据集 [推广有奖]

  • 0关注
  • 0粉丝

小学生

7%

还不是VIP/贵宾

-

威望
0
论坛币
6 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
32 点
帖子
5
精华
0
在线时间
3 小时
注册时间
2014-8-28
最后登录
2015-6-9

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我要把一个文件夹内所有的工作簿中的工作表全部拼接在一起,我要怎么做。
我现在只会把每个工作表先导入,然后一个个set在一起,但是感觉是不是有更高效率的方法啊
求教
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:高效率 数据集 在一起 工作表 怎么做 拼接 如何

沙发
zhengbo8 发表于 2014-9-19 22:25:56 |只看作者 |坛友微信交流群
用宏来实现。

使用道具

藤椅
shenliang_111 发表于 2014-11-4 10:58:11 |只看作者 |坛友微信交流群
IO批量操作,除了可以用SAS的libname外,建议用 python实现,listdir+itertool实现单个
文件的读取及多个文件的union(set)操作

使用道具

板凳
haibara8 发表于 2015-1-11 18:03:56 |只看作者 |坛友微信交流群
好复杂啊,我现在抄了一个公式藏了,随时复制黏贴来这

使用道具

报纸
sushe1527 发表于 2015-1-11 19:28:40 |只看作者 |坛友微信交流群
  1. *指定数据文件所在的目录;
  2. %let path=f:\tmp\;
  3. *指定输出数据集前缀;
  4. %let OutPrefix=ffff;

  5. x "dir &path.*.xls /b > &path.fname.txt";

  6. %macro importxls(filename,ith);
  7. proc import datafile="&path.&filename" out=&OutPrefix.&ith dbms=excel replace;
  8. run;

  9. *以下三行语句是合并所有数据集,条件要求:数据集变量结构一致;
  10. data all;
  11.    set %if &ith ne 1 %then all; &OutPrefix.&ith;
  12. run;
  13. %mend;

  14. data _null_;
  15. infile "&path.fname.txt";
  16. input filename & $100.;
  17. *执行宏;
  18. call execute('%importxls(' || trim(filename) || ',' || _n_ || ')');
  19. run;
复制代码

使用道具

地板
wpfwxn 发表于 2015-1-13 09:16:05 |只看作者 |坛友微信交流群
用libname xlslib excel '文件物理路径';

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-4 06:51