How to change the date format of ,txt file?
    3 views (last 30 days)
  
       Show older comments
    
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
  dpb
      
      
 on 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..
Accepted Answer
  Jeremy Hughes
    
 on 7 Apr 2020
        2 Comments
  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
More Answers (0)
See Also
Categories
				Find more on Text Files in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!