在日期字段中读取带有空值的.csv文件

时间:2015-11-21 14:20:34

标签: sas

我正在SAS中的.csv文件中读取,其中一些字段在主体中填充为空值$iniContent = Get-IniContent “c:\temp\file.ini” $iniContent[“Applications”] $value = $iniContent[“Applications”][“app1”] $iniContent[“Applications”].Keys | %{$iniContent["Applications"][$_]} ,少数字段由5位SAS日期填充。我需要SAS将字段识别为日期字段(或者至少是一个数字字段),而不是像现在一样在文本中读取它。

我的代码的简化版本如下:

.

使用此代码,所有值都以data test; informat mydate date9.; infile myfile dsd dlm ',' missover; input myfirstval mydate ; run; 读入,字段数据类型为文本。谁能告诉我在上面的代码中我需要改变什么来获得我需要的输出?

由于

1 个答案:

答案 0 :(得分:0)

如果您编写数据步骤以读取CSV文件,SAS将创建变量作为您指定的数据类型。如果你告诉它MYDATE是一个数字,它将不会将它转换为字符变量。

data test;
   infile cards dsd dlm=',' TRUNCOVER ;
   length myfirstval 8 mydate 8 mythirdval 8;
   input myfirstval mydate mythirdval;
   format mydate date9.;
cards;
1,1234,5
2,.,6
;

请注意,数据步骤编译器将首次定义变量的类型。例如,如果第一个引用位于IF MYDATE='.' ...之类的语句中,则MYDATE将被定义为字符长度1,以匹配与其进行比较的值的类型。这就是为什么最好从LENGTHATTRIB语句开始,以清楚地定义变量。