如何读取sas中的12位数字

时间:2014-07-10 06:25:20

标签: sas

我是sas尝试阅读csv文件的新手

csv的样本我正在尝试阅读

Olive Mathews,119-574-8639,47 Summit Ave,22186,Portugal

Jami Gonzales,182-680-4169,81521 Chico Hwy,69148,柬埔寨

Mabel Holland,561-729-2640,87 State Hwy 160,32798,Viet Nam

Alice Barron,453-687-5745,621 State Hwy 171 N,41322,Belize

我写的sas代码是为了阅读csv

data jul10.second;

infile '/folders/myshortcuts/myfolder/csv/data.csv' dlm=',' firstobs=2  ;
length name$20 phoneno 7 address$40 zipcode 6 country$40 ;
input name$ phoneno address $ zipcode  country$;
 run;

在phoneno变量中给出错误(第2行15-26中的phoneno数据无效。)

但如果我将phoneno变量转换为字符变量则没有错误 -

 data jul10.second;

infile '/folders/myshortcuts/myfolder/csv/data.csv' dlm=',' firstobs=2  ;
length name$20 phoneno $12 address$40 zipcode 6 country$40 ;
input name$ phoneno $ address $ zipcode  country$;
 run;

为什么?为什么我不能将12位数放在数字变量phoneno中?

1 个答案:

答案 0 :(得分:5)

12位'数字'由于连字符,不是一个数字。如果您希望将其转换为不带连字符的数字,请使用compress()功能将其删除,并input()转换为数字...

realphone = input(compress(phoneno,'-'),10.) ;