SAS从包含制表符和逗号分隔符的文件中读取数据

时间:2013-05-13 16:58:54

标签: sas

所以问题是tab定界符定义为'09'x,逗号 - “,”。我知道你可以使用多个分隔符,如果你有例如冒号和逗号并将其定义为“:”,但我不知道如何定义制表符和逗号的多个分隔符。我的数据文件如下所示:

AisleLevels: 14, Enroute: 10, OrderAvg: 2, PSnum: 2, PStype: 1, AisleSLots: 150, NOP: 1                 
    Run 1   Run 2   Run 3   Run 4   Run 5
    RN Set 1    RN Set 2    RN Set 3    RN Set 4    RN Set 5
ElevUtil    0.147   0.147   0.149   0.139   0.142
MSutil  0.186   0.186   0.189   0.174   0.182
PickUtil    0.417   0.424   0.417   0.394   0.407
TPut    668 678 666 632 649

第一行用逗号分隔,其他所有内容都带有标签..谢谢大家的帮助!

1 个答案:

答案 0 :(得分:2)

我不会使用多个分隔符;我会将整个内容作为制表符分隔,并分别解析第一行。

这样的事情:

data want;
infile datalines dlm='09'x truncover;
if _n_ = 1 then do;
input @1 str $1500.;
*(parse string with SCAN);
 Levels=scan(str,1,',');
 Enroute = scan(Str,2,','); /*etc.*/
end;
else input 
(run1-run5) $
/*....*/
;
run;

通常我只会在非第一行之后输出并保留第一行变量,如果这是你需要的(在所有行上都有这些变量)。我也不完全理解你的格式;你真的想从那些数据中获得5行(超出第一行)吗?然后是一个稍微不同的DP问题。