You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在SAS中如何将CSV内的文本格式日期变量转换为date9格式?

SAS导入CSV日期列返回空值解决方案

问题根因

你CSV中的日期为May-21这类「英文月份缩写+横杠+两位年份」的格式,而代码中给Date变量设置的输入格式ddmmyyyy.与实际数据格式不匹配,SAS无法正常解析日期值,因此返回空值。

修正代码

将Date对应的informat修改为匹配该格式的monyy7.即可,该格式默认会将日期匹配到对应月份的第一天,刚好符合你需要的date9输出格式(例如May-21会解析为01MAY2021):

Data Test;
infile "\\file.csv"
delimiter="," missover firstobs=2 dsd lrecl=32767;
informat Date monyy7.;
format  Name $100.;
format  Location $100.;
format  Date date9.;
format Type $10.;
input   Name $
        Location $
        Date 
        Type $;
run;

补充说明

如果你的SAS运行环境为非英文locale,使用monyy7.仍出现解析失败的情况,可以将informat替换为anydtdte20.,SAS会自动尝试适配多种常见的日期字符串格式,兼容性更强。

内容的提问来源于stack exchange,提问作者willd9

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 06:12:00