How to change the date format of ,txt file?
Afficher commentaires plus anciens
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 commentaires
Ilian
le 7 Avr 2020
Have you tried to use the textscan function to read the file? There you can specify the date format. See here for an example:
https://www.mathworks.com/help/matlab/ref/textscan.html
JOAO LIMA
le 7 Avr 2020
Use the detectImportOptions function to create a DelimitedTextImportOptions object for the file. In it you can set the 'DateFormat' for the date/time variable(s) with the setvaropts function.
Then pass the object when call readtable.
Same effect as w/ textscan but get the table directly as well as avoid fopen-fclose hassle and the need to then convert the raw data to the table.
JOAO LIMA
le 8 Avr 2020
dpb
le 8 Avr 2020
xlsread has been deprecated--use one of the suggested alternatives at doc xlsread depending on the format of the data in the sheet..
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Text Files dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!