extracting files having names with the same date from a dataset

2 ビュー (過去 30 日間)
Salma fathi
Salma fathi 2022 年 1 月 31 日
編集済み: Stephen23 2022 年 1 月 31 日
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?

採用された回答

Stephen23
Stephen23 2022 年 1 月 31 日
編集済み: Stephen23 2022 年 1 月 31 日
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'}

その他の回答 (2 件)

Walter Roberson
Walter Roberson 2022 年 1 月 31 日
dinfo = dir('*120522.txt');
filenames = {dinfo.name};
  1 件のコメント
Stephen23
Stephen23 2022 年 1 月 31 日
編集済み: Stephen23 2022 年 1 月 31 日
That does not take into account the minutes.
Adding another asterisk will not fix that ... if only DIR supported ? to match one character :(

サインインしてコメントする。


Sambit Supriya Dash
Sambit Supriya Dash 2022 年 1 月 31 日
a = 196611110428;
strA = string(a);
d = datetime(strA,'InputFormat','yyyyMMddHHmm');
disp(d)
Month = month(d);
Day = day(d);
Hour = hour(d);

カテゴリ

Help Center および File ExchangeStartup and Shutdown についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by