How to change the date format of ,txt file?

5 Ansichten (letzte 30 Tage)
JOAO LIMA
JOAO LIMA am 7 Apr. 2020
Kommentiert: Jeremy Hughes am 8 Apr. 2020
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 Kommentare
dpb
dpb am 8 Apr. 2020
xlsread has been deprecated--use one of the suggested alternatives at doc xlsread depending on the format of the data in the sheet..
JOAO LIMA
JOAO LIMA am 8 Apr. 2020
Bearbeitet: JOAO LIMA am 8 Apr. 2020
dpb, I got it, following your first answer. See below.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Jeremy Hughes
Jeremy Hughes am 7 Apr. 2020
  2 Kommentare
JOAO LIMA
JOAO LIMA am 8 Apr. 2020
Thank you!! I really worked! Just one thing: for me worked 'DatetimeFormat' instead of 'DateTimeFormat'
opts = detectImportOptions(modfile(i));
opts = opts.setvaropts('data11','InputFormat','dd/MM/yyyy HH:mm:ss','DatetimeFormat','dd-MMM-yyyy HH:ss');
modi = readtable(modfile(i),opts);
Jeremy Hughes
Jeremy Hughes am 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by