楼主: Silon.Jon
5182 40

[问答] 如何将一行很长的字符分成若干个观测 [推广有奖]

31
若水烟寒 发表于 2012-11-15 18:06:52
刚学sas,用循环搞了个极其麻烦的做法………………

data temp;
infile 'D:\sas学习\exp.txt';
length a $30.;
input a $;
do i=1 to 5;
b=scan(a,i,'[]');
if b ^= ',' then
output;
end;
run;

data temp1(keep=x1-x5);
set temp;
array c(5)$5. x1-x5;
if substr(b,length(b),1)=',' then c(5)=.;
else c(5)=substr(b,length(b),1);
j=1;
do while (j<=4);
i=1;
do while( i<=length(b));
   if substr(b,i,1)=',' then do;
     if i=1 then do; c(j)=.; j=j+1; end;
         else if substr(b,i,1)=','&        substr(b,i-1,1)=',' then do; c(j)=.; j=j+1; end;
         else do; c(j)=substr(b,i-1,1); j=j+1; end;
   end;
   i=i+1;
end;
end;
output;
run;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
davil2000 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

32
Silon.Jon 发表于 2012-11-18 21:53:39
若水烟寒 发表于 2012-11-15 18:06
刚学sas,用循环搞了个极其麻烦的做法………………

data temp;
这,真能解决长达1.5MB不换行的数据读入问题?{:3_48:}

33
Silon.Jon 发表于 2012-11-18 21:55:59
ziyenano 发表于 2012-11-15 15:45
是单个文件,还是要批量导入~
单个文件的话,我觉得可以找个折中的方法,
在ue里面,将逗号转成换行符,数 ...
嗯,很巧妙,但确实是批量文件(锤地啊

34
若水烟寒 发表于 2012-11-18 22:02:25
Silon.Jon 发表于 2012-11-18 21:53
这,真能解决长达1.5MB不换行的数据读入问题?
不好意思……没看你后面补充…………嘿嘿………………

35
Silon.Jon 发表于 2012-11-20 22:46:29
若水烟寒 发表于 2012-11-18 22:02
不好意思……没看你后面补充…………嘿嘿………………
中大的,08届的?

36
若水烟寒 发表于 2012-11-20 23:52:50
Silon.Jon 发表于 2012-11-20 22:46
中大的,08届的?
不是…我是09的~

37
lily83322 发表于 2012-11-21 13:54:22
冒号大概意思就是 遇到分隔符就读取完了 不会把分隔符读进去  好像是这样的吧

38
Silon.Jon 发表于 2012-11-21 18:30:40
若水烟寒 发表于 2012-11-20 23:52
不是…我是09的~
问错了,你09年毕业的?

39
若水烟寒 发表于 2012-11-21 19:45:19
Silon.Jon 发表于 2012-11-21 18:30
问错了,你09年毕业的?
…………………………我……是09级的……现在读大四…………………………

40
Silon.Jon 发表于 2012-11-22 19:52:11
若水烟寒 发表于 2012-11-21 19:45
…………………………我……是09级的……现在读大四…………………………
不错,刚大四就知道用SAS编编程,努力啊!

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

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