首页 > 解决方案 > SAS从csv加载数据时如何将字符串转换为时间?

问题描述

我正在尝试从 csv 加载数据。我有几种格式:日期、时间、数字、字符串。除了时间格式,我没有问题将数据转换为这种格式。数据看起来:

Date,Time,Transaction,Item
2016-10-30,9:58:12,1,Bread
2016-10-30,10:05:36,2,Scandinavian
2016-10-30,10:08:00,3,Hot chocolate

我的代码:

data lab0.piekarnia;
INFILE 'path_to_csv' delimiter=',' firstobs=2;
format Date yymmdd10.;
format Time time8.;
INPUT 
    Date yymmdd10.
    Time time8.
    Transaction 
    Item $;
run;

结果

我尝试什么?我尝试手动转换字符串'12:22:22',这种方法效果很好,但我不知道如何在加载 csv 时实现它。

data ds1;
j = input('12:22:22',HHMMSS8.);
format j time8.;
run;

标签: sas

解决方案


data have;
INFILE "path_to_csv" truncover delimiter=',' firstobs=2 ;
format Date yymmdd10.;
format Time time8.;
INPUT date time transaction item $32.;
informat
    Date yymmdd10.
    Time time.;
/*Instead input and informat statements you can use:
INPUT date:yymmdd10. time:time. transaction item $32.;
*/
run;

推荐阅读