楼主: mufuqu
5260 7

怎样将sas数据集按行拆分,并输出到txt文档里 [推广有奖]

  • 0关注
  • 1粉丝

硕士生

88%

还不是VIP/贵宾

-

威望
0
论坛币
442 个
通用积分
0
学术水平
1 点
热心指数
2 点
信用等级
1 点
经验
1844 点
帖子
111
精华
0
在线时间
227 小时
注册时间
2011-9-30
最后登录
2017-6-2

楼主
mufuqu 发表于 2015-11-27 15:44:39 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
RT,想将每一行的数据输出到单独的txt文档里,请问要怎么实现啊?小白求大家帮忙解惑啊,谢谢啦~~
二维码

扫码加我 拉你入群

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

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

关键词:sas数据集 数据集 txt 求大家帮忙

沙发
落幕的童话123 发表于 2015-11-27 15:53:27 来自手机
mufuqu 发表于 2015-11-27 15:44
RT,想将每一行的数据输出到单独的txt文档里,请问要怎么实现啊?小白求大家帮忙解惑啊,谢谢啦~~
ods rtf 语句可以将数据保存成doc格式
已有 1 人评分论坛币 收起 理由
admin_kefu + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

藤椅
junge1018 发表于 2015-11-27 22:01:00 来自手机
saa肯定能做 但是我先做的用erl工具也能做
已有 1 人评分论坛币 收起 理由
admin_kefu + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

板凳
junge1018 发表于 2015-11-27 22:02:27 来自手机
etl工具
打错

报纸
banishurface 学生认证  发表于 2015-11-27 22:20:42
没理解你的<每一行输入到单独的文件>是什么意思?比如有10个观测,分别生成10个txt文档每个文档一条观测吗?还是就是生成一个txt文件然后有你所有的观测?
后者的话试试
data a;
input x $ y 8.;
cards;
a 1
b 2
c 3
d 4
;
run;
proc export data=a outfile='C:\Users\Administrator\Desktop\a.txt';
run;
已有 1 人评分论坛币 收起 理由
admin_kefu + 25 热心帮助其他会员

总评分: 论坛币 + 25   查看全部评分

地板
banishurface 学生认证  发表于 2015-11-27 23:43:17
/*将一个数据集中的每一个观测单独生成一个txt文件*/
/*dataset:逻辑库名.数据集名,例如work.a   ,outpath:输出路径,例如C:\Users\Administrator\Desktop,不要加引号  */
%macro export(dataset,outpath);
/*获取观测总数*/
data _null_;
set &dataset nobs=nobs;
call symputx('nobs',nobs);
run;

/*拆分*/
%do i=1 %to &nobs;
data &dataset&i;
set &dataset;
if _n_=&i;
run;
%put &dataset.&i;

/*生成txt文件*/
proc export data=&dataset&i  outfile="&outpath.\obs_&i..txt" dbms=TAB REPLACE;
run;

/*删除产生的子数据集*/
proc delete data=&dataset&i;run;  
%end;
%mend export;


%export(dataset,outpath);

7
mufuqu 发表于 2015-11-30 10:23:27
banishurface 发表于 2015-11-27 23:43
/*将一个数据集中的每一个观测单独生成一个txt文件*/
/*dataset:逻辑库名.数据集名,例如work.a   ,outpa ...
是每个文档一条观测~谢谢大神指点

8
mufuqu 发表于 2015-11-30 14:18:58
banishurface 发表于 2015-11-27 23:43
/*将一个数据集中的每一个观测单独生成一个txt文件*/
/*dataset:逻辑库名.数据集名,例如work.a   ,outpa ...
Book1是我的原数据集,我在代码前边加了这些
libname lib "E:\";
PROC IMPORT out=lib.out1
datafile="E:\Book1.xlsx"
dbms=excelcs replace;
run;

data lib.out2;
set lib.out1;
format test $ 100.;
test=catx('","','"name',name,'id',id,'var1',var1,'var2',var2);
keep test;
run;

一起运行后每一条观测的确是生产了单独的文档,但格式还有点小问题,这是运行结果
test
"""name"",""王一"",""id"",""320100198706010945"",""var1"",""0"",""var2"",""1"

想要把变量名“test”去掉,且只有一个双引号,就是像下边这样,请问该怎么改啊? obs_1.txt (85 Bytes) Book1.xlsx (11.08 KB)
"name","王一","id","320100198706010945","var1","0","var2","1"


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

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