所以问题是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
第一行用逗号分隔,其他所有内容都带有标签..谢谢大家的帮助!
答案 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问题。