【发布时间】:2021-12-31 08:19:58
【问题描述】:
我需要在 SAS 中导入一个 CSV 文件,但它卡在日期格式的空字段上。我的日志显示该字段被正确识别为 DATETIME。和 ANYDTDTM40。就像其他日期时间字段一样。在第一个记录中,该字段为空,然后 LOG 给出一个 NOTE 无效数据。当我在第一行中输入带有空字段的日期时,消息会随之移动。所以它显然与缺失值有关。有人可以帮帮我吗?
【问题讨论】:
-
“导入”是什么意思?你在使用一些提示系统吗?运行 PROC IMPORT?还是您只是编写自己的数据步骤来读取文件,而不是强迫 SAS 猜测如何读取它?请显示您运行的代码和 SAS 日志中的错误消息。
-
你好汤姆,是的,我的意思是 PROC IMPORT
-
这是我使用的代码。 (无法共享文件夹和文件名抱歉):PROC IMPORT OUT=WORK.EP008 DATAFILE="Location\file.csv" OUT=work.EP008 DBMS=csv 替换;分隔符=';';猜测行=1500; GETNAMES=是的;运行;
-
日志注:注:第 2 250-250 行中的 WellLastChangedDate 数据无效。我的 CSV 是;分隔,我拿出了 ALL ;在所有文本中,因此它不会破坏定界。如果我将日期从列 WellLastChangeDate 中的第一个非空字段复制到第 2 行,则错误消息将移至第 3 行等。
-
文件中第 2 行第 250 列的实际字符是什么?如果只有一个字符并且该字段应该是日期,那么只需按原样使用数据并忽略该消息。您不能将任何单个字符转换为日期时间值,因此将其保留为缺失对我来说似乎很好。