SAS读取用引号标记的字符变量值时如何去掉引号
(2013-12-30 07:53:58)
标签:
sasinfileinput数据导入去掉引号it |
分类: SAS数据导入 |
上次分享了如何解决字符变量值包含空格的问题,方法是压缩掉空格或以逗号分隔,但是,如果字符型变量中包含逗号该怎么办?有人会说那就换其他分隔符,如果恰巧也包含这个分隔符呢。
今天就来分享另一种解决字符型变量中包含分隔符的方法,就是在字符型变量外面加上引号,引号之内的全部文本作为一个字段取值。
当我们接到数据提供方提供的这种类型的数据时,我们要知道如何导入。
需求如下:
在D:\下存放名为myfile.txt的文本文件,该数据是由四个字段组成,分别为IdNumber Name Team Weight,其中Weight为数值变量,其余均为字符变量,各个字段以逗号分隔,并且字符型变量用引号包裹。需要将该文件导入到work库下的名为club的数据集中。
文件的内容如下:
1024,David,red,189
1049,Amelia,yellow,145
代码如下:
data work.club;
run;
代码分析:
与上次代码不同之处为infile语句后面多了一个dsd选项,该选项的功能是去掉包围字符型变量值外面的引号。
补充说明:
当使用dsd时,如果不是用dlm选项,系统默认分隔符为逗号,因此在以其他符号作为分隔符时不能省略dlm选项。