MATLAB Answers

How to add dates to a read loop

1 view (last 30 days)
Ioannis Tsikriteas
Ioannis Tsikriteas on 8 Sep 2017
Answered: 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);
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


Sign in to comment.

Answers (2)

Jose Marques
Jose Marques on 9 Sep 2017

  1 Comment

Ioannis Tsikriteas
Ioannis Tsikriteas on 9 Sep 2017
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.

Peter Perkins
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;


Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by