全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4394 5
2012-09-27
IDgrovidvdata

1

1

1

Angel of Serenity

2

1

2

W

3

1

3

4WWW

4

1

4

Creature Angel


如上表,在将这些内容放到SAS程序中的时候,因为中间有空格,是会断的,比如会把of的值又入到下一个Id中去了。
我的程序如下:

data mrtr;
infile 'f:\zsas\magic\rtreng.txt';
length vdata $500;
input ID gro vid vdata$;
run;

但是这样显然是不行的,而把空格变成-,也会出现如下的输出:

Obs    vdata                                                          ID    gro    vid
2578     R i c h a r d - W r i g h t                            .     .      .
2579     C                                                             .     .      .
2580     2 5 8 / 2 7 4                                          .     .      .
2581     I s l a n d                                             .     .      .


现在有两个问题:
1)有没有办法把Angel of Serenity,变成一个变量值,而不被空格打断?
2)那个。。。实在不知道为什么会出现,程序应该没有什么问题吧?
二维码

扫码加我 拉你入群

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

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

全部回复
2012-9-27 16:00:56
用EXCEl处理好了再导入
二维码

扫码加我 拉你入群

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

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

2012-9-27 16:02:20
data mrtr;
infile 'f:\zsas\magic\rtreng.txt';
length vdata $500;
input ID gro vid vdata  & $;
run;
二维码

扫码加我 拉你入群

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

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

2012-9-27 16:10:33
出现这种问题是因为sas在读取txt文件时,会将空格当做默认的分隔符,遇到分割符,就会结束该变量的读取,开始下一个变量的读取。可以在$前面加上一个&如下,所示
data mrtr;
infile cards;
length vdata $500;
input ID gro vid  vdata  & $;
cards;
1 1 1 Angel of Serenity
2 1 2 W
3 1 3 4WWW
4 1 4 Creature Angel
;
&的作用是当读取该字符串时,当遇到有一个空格,则会继续读,不会将它作为分隔符,当遇到两个或两个以上的连续的空格时,才结束变量的读取
二维码

扫码加我 拉你入群

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

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

2012-9-27 17:36:15
e e  e e
二维码

扫码加我 拉你入群

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

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

2014-1-1 04:15:48
搭车问:
如果有空格的变量不是最后一个,而是中间的,比较第二个变量,该怎么办?

1 Angel of Serenity 1 1
2 W 1 2
3 WWW 1 3
4 Creature Angel 1 4
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群