本帖最后由 花映碧水 于 2013-12-29 13:28 编辑 3 w0 l6 K2 ?4 S; F2 P! F4 y- W
$ S0 z. d j9 g* r4 q
在此首先非常感谢会员“奚鑫”提供资源,为方便大家观看,特此将全文转载到数学中国方便大家直接查阅~7 x7 G3 I7 s/ B; [/ G( o4 e' R3 s, R6 |; y
8 @8 Q2 {( v/ x9 s7 s. a m8 {$ ?
上次分享了如何用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选项指定其他分隔符,如:# | $ 等。
& [/ ~1 \) K1 P+ Z6 `) t8 t! O4 Z- R) S6 L$ W3 U, D9 o
|