How to change the date format of ,txt file?

9 views (last 30 days)
Hi, I am having a hard time on this. I need to read a sequence of .txt files (wind speed and direction forecasts).
I am storing the files names in an array called modfile:
t1 = datetime(2019,7,2);
a=dir(('C:\Users\jmarc\PGE\Dados\Previstos\*.txt'));
numfiles=size(a,1);
mydata = cell(1, numfiles);
for k = 1:numfiles
dia=sprintf( '%02d', day(t1));
mes=sprintf( '%02d', month(t1));
ano=sprintf( '%04d', year(t1));
amd=[ano,'-',mes,'-',dia];
myfiletxt=['C:\Users\jmarc\PGE\Dados\Previstos\','Previsao_Total_',amd,'.txt'];
modfile(k)=string(myfiletxt);
t1=t1+1;
end
for i=1:length(modfile)
modi = readtable(modfile(i));
...
The timestamp of the first column of each file is like this:
2019-07-02 0:30:00
It turns out when matlab reads the timestamp (modi file), day and month are reversed.
Instead of 02-Jul-2019, it gives 07-Feb-2019.
I tried many different formats when reading modfile(i), but I was not successful.
Does anyone can help me?
  6 Comments
JOAO LIMA
JOAO LIMA on 8 Apr 2020
dpb, I got it, following your first answer. See below.

Sign in to comment.

Accepted Answer

Jeremy Hughes
Jeremy Hughes on 7 Apr 2020
  2 Comments
Jeremy Hughes
Jeremy Hughes on 8 Apr 2020
BTW, if the format of the files are all the same, you can re-use the opts
opts = detectImportOptions(modfile(1));
opts = opts.setvaropts('data11','InputFormat','dd/MM/yyyy HH:mm:ss','DatetimeFormat','dd-MMM-yyyy HH:ss');
for i = 1:numel(modfile)
modi = readtable(modfile(i),opts);
end

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by