Ri: C'è un modo semplice per sapere se una colonna è data / ora?Non sono a conoscenza di alcun modo "facile" per determinare che una colonna sia un valore di data. Il tuo approccio all'utilizzo del formato << get, dovrebbe fornire il maggior numero di valutazioni corrette.
Ri: C'è un modo semplice per sapere se una colonna è Data / Ora?grazie per aver dedicato del tempo a pubblicare questo codice, funziona benissimo!Ri: C'è un modo semplice per sapere se una colonna è Data / Ora?Grazie per aver confermato ciò che temevo. Ho rapidamente scritto questo codice se qualcuno ha problemi simili. Sono aperto anche ad altre idee brillanti. Grazie!
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)
);
);
C'è un modo semplice per sapere se una colonna è Data / Ora?Quindi avevo una sceneggiatura che eseguiva qualcosa del genere:
for(i=1, i<=ncols(dt), i++,
name = Column(dt, i) << Get Name;
if(contains(name, "Date") | contains(name, "Time"),
//Run code
)
);
Tuttavia, ho scoperto che non tutte le colonne hanno "Data" o "Ora" nel nome. A volte a causa di errori di ortografia (come Tme, Tim, ect.) A volte b / c non è semplicemente incluso b / c le colonne sono arbitrariamente chiamate- "Colonna 1", "Valore 2", ect.
Ad ogni modo, ho sperimentato "<< Ottieni formato", ma questo non sembra essere coerente.
La maggior parte di questi file proviene da .csv generato da altri programmi. Forse c'è una preferenza da qualche parte che avrebbe predefinito i formati di data per uno specifico di interesse che potrei interrogare?
Suggerimenti?