SAS中文论坛
标题:
关于DLM的一个问题
[打印本页]
作者:
shiyiming
时间:
2004-4-19 21:36
标题:
关于DLM的一个问题
如果在我的数据中使用一个符号做分割符,例如DLM=‘*’,但连续两个**则要作为数据读进SAS。应该怎么办。
例如
1*2**2,需要把1读到一个变量中,2**2读到另一个变量中。
多谢
作者:
shiyiming
时间:
2004-4-20 08:48
标题:
我有一个办法
[quote="smartie":77e3d]如果在我的数据中使用一个符号做分割符,例如DLM=‘*’,但连续两个**则要作为数据读进SAS。应该怎么办。
例如
1*2**2,需要把1读到一个变量中,2**2读到另一个变量中。
多谢[/quote:77e3d]
如果你的文件不是特别大的话,先用写字板打开,把“**”替换成另外一个符号(当然,选择的符号要和文件中其他数据区别),然后把“*”替换成其它分隔符,最后把“**”替换回去。~~呵呵,似乎有点复杂。
作者:
shiyiming
时间:
2004-4-20 23:53
看来只能用列表模式了,如果你的数据整齐的话
data tmp;
infile cards;
input a 1 b$ 3-6;
cards;
1*2**2
;run;
或者把整个当成字符读入,然后用字符函数把它分开
data tmp;
infile cards;
input a$;
b1=input(substr(a,1,index(a,'*')-1),8.);
b2=substr(a,index(a,'*')+1,length(a));
cards;
1*2**2
;run;
欢迎光临 SAS中文论坛 (http://mysas.net/forum/)
Powered by Discuz! X3.2