全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学
1383 1
2016-07-07
各位大神,现在想导入下面的txt数据到SAS里面去,可中间因为空格数目大于1(从第二行price 就有问题),总是出现空格被当作空值导入进去。尝试很多次都没有办法,请问有什么解决办法?谢谢!!

尝试的code:
   data WORK.d4;
     infile 'd:\datad.TXT' TRUNCOVER firstobs=2;
     input productid $6. price 4.2  producttype $10.  sales returns;
  run;

结果:


数据:
productid price producttype sales returns
K12S      95.50 OUTDOOR          15    2
B132S     2.99  CLOTHING          300         
R18KY2    51.99 EQUIPMENT      25    5
3KL8BY    6.39  OUTDOOR         125   15
DY65DW    5.60  OUTDOOR       45    5
DGTY23    34.55 EQUIPMENT     67    2

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-7-8 08:08:32
自己回复下自己吧,今天早上突然灵机一动,尝试了下就成功了。

data WORK.d4;
     infile 'd:\datad.TXT' TRUNCOVER firstobs=2;
     input productid :$6. price :4.2  producttype :$10.  sales returns;
  run;
proc print data=d4;
  run;

就是要在定义长度前加上":",

查了一下高慧旋的书:
冒号(:)表明变量的值是从以下非空格列中读取的,知道第一次遇到以下三种情况:
下一个空格列;
先前定义的变量长度已满
数据行介绍。

例如:
input lastname:$15.;

数据行
smith 123 Highway
longlastname 527 Avenue
时,第一个观测变量lastname 的值为smith(虽只读5个字符,因为遇到空格而结束),第二个观测值为longlastname.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群