楼主: deem
1792 2

[程序分享] 将sas数据文件批量转化为csv文件 [SAS code] [推广有奖]

  • 2关注
  • 43粉丝

学科带头人

51%

还不是VIP/贵宾

-

威望
0
论坛币
7022 个
通用积分
1027.0870
学术水平
215 点
热心指数
237 点
信用等级
205 点
经验
71652 点
帖子
979
精华
0
在线时间
2998 小时
注册时间
2009-7-30
最后登录
2024-4-9

楼主
deem 学生认证  发表于 2017-8-17 13:08:53 |只看作者 |坛友微信交流群|倒序 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

本程序将sas数据文件批量转化为csv文件,使用内置的SASHELP库中180个数据文件,
将其转为csv文件。



  1. proc sql;
  2.    title 'All Tables and Views in the SASHELP Library';
  3.    create table work.filename as
  4.    select memname
  5.                 from dictionary.tables
  6.    where libname = 'SASHELP'and memtype='DATA';

  7. data _null_;
  8.         set work.filename  end=eof;
  9.         call symput('file'||left(_N_), trim(memname));        /*对每个输入数据都用一个宏变量装载,生成180个宏变量file1-file180*/
  10.         if eof then call symput('nfile', _n_);        /*生成宏变量记录行数,也就是输入文件的个数*/
  11.         run;


  12. proc printto  log=junk; run;

  13. %macro sas2csv;
  14. %do i=1 %to &nfile;
  15. proc export data=SASHELP.&&file&i
  16.         outfile="E:\CSVFILE\&&file&i...csv" dbms=csv replace;        /*输出到目录“E:\CSVFILE\”*/
  17.         run;
  18. %end;
  19. %mend sas2csv;

  20. %sas2csv
  21. proc printto  log; run;
复制代码


二维码

扫码加我 拉你入群

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

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

关键词:code 数据文件 ODE COD Dictionary

沙发
rochmusic 在职认证  发表于 2022-9-29 09:59:06 |只看作者 |坛友微信交流群
非常好用,感谢楼主!
复制程序后,要把程序行中的‘tab'换成空格,才能正常运行程序。

使用道具

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

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

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

GMT+8, 2024-4-27 04:56