MATLAB Answers

0

How to add dates to a read loop

Asked by Ioannis Tsikriteas on 8 Sep 2017
Latest activity Answered by Peter Perkins
on 14 Sep 2017
hi, i have the following loop which reads a lot xls files and stores them in a table. Each file contains hourly data at a specific date starts from 01/01/2012
myFolder = 'C:\Users\...\All';
filePattern = fullfile(myFolder, '*.xls');
theFiles = dir(filePattern);
x={ };
for k = 1 : length(theFiles) ;
baseFileName = theFiles(k).name;
fullFileName = fullfile(myFolder, baseFileName);
fprintf(1, 'Now reading %s\n', fullFileName);
x{k} = readtable(fullFileName);
end
How can i add an extra column to each table with the date of each file from which the table was created?
For example the third file contains 24 records of the date 03/01/2012

  0 Comments

Sign in to comment.

2 Answers

Answer by Jose Marques on 9 Sep 2017

  1 Comment

Sorry but i have read the above answer you suggested and this refers to today dates! Mine are dates of the past, from 01/01/2012 until 31/12/2016 and i want each one of these dates to be added to the table (or timetable to be exact) for each {k} of the loop.
For example, {k}=3 is the date 03/01/2012, {k}=445 is the date 30/03/2013
The total length of the files are 1925

Sign in to comment.


Answer by Peter Perkins
on 14 Sep 2017

Create a datetime column vector and assign it to your table.
d = datetime(2012,3,repmat(1,24,1)) % assuming you mean march 1st, not jan 3rd x{k}.Time = d;

  0 Comments

Sign in to comment.