阅读不一致的数据

时间:2015-10-15 12:35:56

标签: sas

我无法阅读不一致的逗号分隔数据。以下是数据的示例:

JefferyThomas, “200”, “2500”, “12344”,100 “999”, “865100”,800 GeorgeMontgomery, “50”, “700”,200 “2500”, “2500”, “8000”, “950”

我从来没有用引号内的两个数字以及不在引号中的数字来表示。如果它只是一个或另一个,显然这并不难读入。但是因为有些数字在引号中而其他数字没有引用,我发现自己无法读取所有数据。这是我到目前为止所尝试的:

Data test;
   INFILE ......"data.csv" dlm="," dsd missover;
   length Name $16;
   input Name $ Score1 Score2 Score3 Score4 Score5 Score6 Score7;

除了不在引号内的数字外,所有这些都返回缺少的值。

1 个答案:

答案 0 :(得分:4)

您还需要告诉SAS使用COMMA INFORMAT以逗号读取数字。

Data test;
   INFILE cards dlm="," dsd missover;
   length Name $16;
   informat score1-score7 comma16.;
   input (_all_)(:);
   cards;
JefferyThomas,"200","2,500","12,344",100,"999","865,100",800 
GeorgeMontgomery,"50","700",200,"2,500","2,500","8,000","950"
;;;;
   run;
proc print;
   run;

enter image description here