如何使用sas从txt文件中读取日期和时间

如何使用sas从txt文件中读取日期和时间,sas,Sas,我是SAS的新手,我正在尝试读取一个包含日期和时间的txt文件。该文件如下图所示 我相信我已经尝试了我能想到的所有可能的选项来读取文件,但是输出仍然是数字形式。下面是我正在使用的代码 data wb_bg_1619; infile "C:\Users\daizh\Desktop\Ren\SAS\wb_bg_0215.txt" firstobs=3 missover; informat DATE DATE7. TIME TIME5. ; input DATE TIM

我是SAS的新手,我正在尝试读取一个包含日期和时间的txt文件。该文件如下图所示

我相信我已经尝试了我能想到的所有可能的选项来读取文件,但是输出仍然是数字形式。下面是我正在使用的代码

data wb_bg_1619;
     infile "C:\Users\daizh\Desktop\Ren\SAS\wb_bg_0215.txt" firstobs=3 missover;

     informat DATE DATE7. TIME TIME5. ;
     input DATE TIME BG;
     run;
proc print data=wb_bg_1619;
run;
输出如下所示


您已经使用informat将存储为文本的日期自动转换为数字SAS日期格式,即自1960年1月1日起的天数。要以人类可读的格式显示,您需要使用常规格式。将以下内容添加到代码的顶部或底部:

format date date9.
       time time.
;
这会更改数据的显示方式,但不会更改SAS处理数据的方式。就SAS而言,日期只是一个数字。你可以在不使用任何格式的情况下运行程序的其余部分,如果你愿意的话,可以使用它获得正确的数字和计算结果,但这肯定会使故障排除变得困难

要记住格式和信息之间的区别:

  • in格式用于input
  • 垫子是为您准备的

一位粉丝写的很棒的助记符。谢谢@Stu Sztukowski的详细解释。代码起作用了。