在SAS中导入CSV数据时如何设置正确的日期格式?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SAS中导入CSV数据时如何设置正确的日期格式?相关的知识,希望对你有一定的参考价值。

我正在使用SAS EG中的Data Step导入CSV数据。在CSV中,我有一个日期列。该日期将于2019年2月20日格林威治标准时间12:25:27发布

代码: -

Data Test;
infile 'Test,csv';
informat Date_Column date26.;
format Date_Column datetime26.;
run;

运行此代码时,我的日期为01JAN1960:05:59:23。我尝试过不同的格式,但有时我只会得到日期,有时会出错。

任何方式得到正确的日期为20-02-2019 12:25:27?

答案

我不知道有任何办法处理SAS的“GMT”。理想情况下,如果您需要处理来自不同时区的日期时间,我建议您根据ISO8601结构在CSV中获取日期时间。

如果GMT无关紧要,您可以使用“ANYDTDTM20”。阅读专栏。

您描述的格式不存在。 SAS有很多接近的格式,你可以找到它们here。我们来看看“datetime20”。例如。

如果您确实需要这种特定格式,那么您将需要处理单独的日期和时间,并在文本变量中“手动”格式化。

你可以试试这段代码:

data test;

/* input date and time in text format */
in = '20 Feb 2019 12:25:27 GMT';

/* text date converted into SAS datetime */
out = input(in,ANYDTDTM20.);
format out datetime20.;

/* if format really matters */
outdate = put(datepart(out),ddmmyyd10.);
outtime = put(out,tod9.);
/* outformatted will have your desired format but will be a char variable, not a datetime */
outformatted = put(outdate,$10.)||" "||put(outtime,$8.);
run;

以上是关于在SAS中导入CSV数据时如何设置正确的日期格式?的主要内容,如果未能解决你的问题,请参考以下文章

SAS中数据的导入(1)

如何在R中导入CSV文件? [关闭]

使用 VBA 在 Access 中导入 txt 文件 - 日期格式问题 - 导入规范

如何编写要在 SAS 中导入的原始数据

如何在 R 中导入文件名中包含特定单词的 .csv 文件?

SAS Proc导入CSV和丢失的数据