有沒有一種簡單的方法可以知道列是否是日期/時間?所以我有一個運行如下的腳本:
for(i=1, i<=ncols(dt), i++,
name = Column(dt, i) << Get Name;
if(contains(name, "Date") | contains(name, "Time"),
//Run code
)
);
但是,我發現並非所有列的名稱中都包含“日期”或“時間”。有時由於拼寫錯誤(如 Tme、Tim 等),有時 b/c 只是未包含 b/c 列被任意命名 -“Column 1”、“Value 2”等。
無論如何,我一直在嘗試“<< Get Format”,但這似乎也不一致。
這些文件大部分來自其他程序生成的 .csv。也許某個地方有一種偏好,將默認日期格式設置為我可以查詢的特定興趣格式?
建議?
回复:有沒有一種簡單的方法可以知道某列是否是日期/時間?感謝您花時間發布此代碼,效果很好!回复:有沒有一種簡單的方法可以知道某列是否是日期/時間?感謝您證實了我所擔心的事情。如果有人有類似的問題,我很快就寫了這段代碼。我也樂於接受其他好主意。謝謝!
isDate = Function({col}, {Default Local},
//Insert Column (col) and returns 1 if column is a date, 0 if false.
format = char(col << Get Format);
test = regex(format, "m/d/y|m/y|yyyy|y/m/d|Date|day|h:m|hr:m|min:s");
if(!ismissing(test),
return(1),
return(0)
);
);
回复:有沒有一種簡單的方法可以知道某列是否是日期/時間?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我不知道有任何“簡單”的方法來確定列是日期值。您使用 << get 格式的方法應該提供最大數量的正確評估。