加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

SAS读取用引号标记的字符变量值时如何去掉引号

(2013-12-30 07:53:58)
标签:

sas

infile

input

数据导入

去掉引号

it

分类: SAS数据导入

上次分享了如何解决字符变量值包含空格的问题,方法是压缩掉空格或以逗号分隔,但是,如果字符型变量中包含逗号该怎么办?有人会说那就换其他分隔符,如果恰巧也包含这个分隔符呢。

今天就来分享另一种解决字符型变量中包含分隔符的方法,就是在字符型变量外面加上引号,引号之内的全部文本作为一个字段取值。

当我们接到数据提供方提供的这种类型的数据时,我们要知道如何导入。

需求如下:

在D:\下存放名为myfile.txt的文本文件,该数据是由四个字段组成,分别为IdNumber Name Team Weight,其中Weight为数值变量,其余均为字符变量,各个字段以逗号分隔,并且字符型变量用引号包裹。需要将该文件导入到work库下的名为club的数据集中。

文件的内容如下:

1024,David,red,189

1049,Amelia,yellow,145

代码如下:

data work.club;

    infile "D:\myfile.txt" dlm = "," dsd;

    input IdNumber $ Name $ Team $ Weight;

run;

代码分析:

与上次代码不同之处为infile语句后面多了一个dsd选项,该选项的功能是去掉包围字符型变量值外面的引号。

补充说明:

当使用dsd时,如果不是用dlm选项,系统默认分隔符为逗号,因此在以其他符号作为分隔符时不能省略dlm选项。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有