数学建模社区-数学中国
标题: 如何用SAS读取以逗号分隔的文本文件 [打印本页]
作者: 花映碧水 时间: 2013-12-29 10:53
标题: 如何用SAS读取以逗号分隔的文本文件
本帖最后由 花映碧水 于 2013-12-29 13:28 编辑 : ~( n: V- Z2 J9 y: ?: t! h3 ?/ D1 Q
! C- R) C \% y! ?8 @$ A T在此首先非常感谢会员“奚鑫”提供资源,为方便大家观看,特此将全文转载到数学中国方便大家直接查阅~
$ o+ g3 ~1 H2 N7 j
7 j1 l c$ _) [* h+ q% T4 X0 N0 x上次分享了如何用SAS读取空格分隔的文本文件,但是有时我们会遇到一个字段的内容中包含空格的情况,如果我们还用上次的方法就会发生读取错位。
在确认了数据内容中确实存在空格的情况下,我们需要和数据提供方进行商议,给出两种解决方案:
1.如果出现空格的情况比较少,并且去掉空格不影响数据准确性的前提下可以压缩掉空格;
2.如果出现空格的情况比较多,并且去掉后会影响数据准确性时,建议更换数据提供方式,使用其他分隔符分隔字段。
下面分享针对第二种方案如何导入以逗号分隔的文本文件。
需求如下:
在D:\下存放名为myfile.txt的文本文件,该数据是由四个字段组成,分别为IdNumberName Team Weight,其中Weight为数值变量,其余均为字符变量,各个字段以逗号分隔。需要将该文件导入到work库下的名为club的数据集中。
文件的内容如下:
1024,David,red,189
1049,Amelia,yellow,145
代码如下:
data work.club;
infile "D:\myfile.txt" dlm= ",";
input IdNumber $ Name$ Team $ Weight;
run;
代码分析:
与上次分享的代码唯一不同的地方是在infile语句后面多了一个dlm = ",",意思为导入的文件各个字段是以逗号作为分隔符。
补充说明:
可以用dlm选项指定其他分隔符,如:# | $ 等。
6 X( S# e: a1 |# T' f0 U, b( s
7 L/ O, t1 L9 q9 ^& u8 S- ~% ~: [
作者: 奚鑫 时间: 2013-12-29 11:19
为什么没有经过我的同意就复制不的文章呢?
作者: 奚鑫 时间: 2013-12-29 11:30
为什么没有经过我的同意就复制我的文章,还删掉我的帖子,把别人写的东西当成是你写的?
作者: 花映碧水 时间: 2013-12-29 13:37
奚鑫 发表于 2013-12-29 11:30
, N5 F$ v& z' d8 J
为什么没有经过我的同意就复制我的文章,还删掉我的帖子,把别人写的东西当成是你写的?
! {( Z5 q; f$ w' x: d首先你得帖子没有被删除,删除的话,你也会收到信息~其次我也没有权限给你删除~将你的资料转载到此的原因有:1.数学中国不接受站外个人链接~ 2.网站不接受类似推销自己的模式存在~ 3. 帖子内容我已经声明~
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) |
Powered by Discuz! X2.5 |