extracting files having names with the same date from a dataset

2 visualizaciones (últimos 30 días)
I am having some txt files as a training dataset for a modele I'm trying to build.
if we asumed that the txt files names has the format YYYYMMDDHHmm as 196611110428.
if I would like to extract files that have the month=12, day=05, hour=22. discarding the years and the minutes, How I can possibly do that?

Respuesta aceptada

Stephen23
Stephen23 el 31 de En. de 2022
Editada: Stephen23 el 31 de En. de 2022
Here is one approach, tested on the attached files:
P = '.'; % absolute or relative path to where the files are saved
S = dir(fullfile(P,'*.txt'));
[~,F,~] = fileparts({S.name});
T = datetime(F,'InputFormat','uuuuMMddHHmm');
X = T.Month==12 & T.Day==5 & T.Hour==22
X = 1×6 logical array
0 1 1 0 0 1
{S(X).name} % training set
ans = 1×3 cell array
{'196612052228.txt'} {'196612052258.txt'} {'202212052228.txt'}
{S(~X).name} % not training set
ans = 1×3 cell array
{'196611110428.txt'} {'196612110428.txt'} {'202211110428.txt'}

Más respuestas (2)

Walter Roberson
Walter Roberson el 31 de En. de 2022
dinfo = dir('*120522.txt');
filenames = {dinfo.name};
  1 comentario
Stephen23
Stephen23 el 31 de En. de 2022
Editada: Stephen23 el 31 de En. de 2022
That does not take into account the minutes.
Adding another asterisk will not fix that ... if only DIR supported ? to match one character :(

Iniciar sesión para comentar.


Sambit Supriya Dash
Sambit Supriya Dash el 31 de En. de 2022
a = 196611110428;
strA = string(a);
d = datetime(strA,'InputFormat','yyyyMMddHHmm');
disp(d)
Month = month(d);
Day = day(d);
Hour = hour(d);

Categorías

Más información sobre Startup and Shutdown en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by