How to import excel sheet with Dates/Time in the first column

16 vues (au cours des 30 derniers jours)
Giancarlo Meccariello
Giancarlo Meccariello le 10 Oct 2020
Commenté : Walter Roberson le 12 Oct 2020
Hello,
In the first column I have the dates written as 01.12.2019 00:00 in the other column I have datas as floating numbers.
If I import the excel sheet with "Data=xlsread('Filename') " I don't get the dates and times in the first column instead some random floating numbers.
I need the dates to make a graph with them on the X axis.
please help
  2 commentaires
Sudhakar Shinde
Sudhakar Shinde le 10 Oct 2020
can you add example data cloumn here.
Giancarlo Meccariello
Giancarlo Meccariello le 10 Oct 2020
A B C
1 01.12.2019 00:00 48 20
2 01.12.2019 00:15 47 21
3 01.12.2019 00:30 49 20.5

Connectez-vous pour commenter.

Réponses (2)

Sudhakar Shinde
Sudhakar Shinde le 10 Oct 2020
  1. try
[num,txt,raw] = xlsread(filename)
2. check also readtable, readmatrix, or readcell
  2 commentaires
Giancarlo Meccariello
Giancarlo Meccariello le 10 Oct 2020
doesn't work.
I get 3 files
first just with numbers -> same as I had
second just text -> date and time is not written as text
and third is kinda mix between 1st and 2nd.
this is the format in excel of my date and time "TT.MM.JJ hh:mm"
Sudhakar Shinde
Sudhakar Shinde le 12 Oct 2020
[~,~,raw] = xlsread(filename);
%Extract date column if date is 2 nd column in excel
Date = raw(:,2);
%ignore Date header
Date = raw(2:end,2);

Connectez-vous pour commenter.


Giancarlo Meccariello
Giancarlo Meccariello le 12 Oct 2020
I found a solution.
basically when the format for the date in excel is TT.MM.JJ hh:mm and you import the excel as a matrix you get the serial number of the date. that's something linke 44380.
then you have to add a constant, that's the deviation between matlab and excel in the serial number of the dates
date_matrix=DATA(:,1) + 693960
and finally it has to be converted to date
date_for_plots = datetime(date_matrix,'ConvertFrom','datenum')
Now graphs can be plotted with this vector for the X-axis
  2 commentaires
Sudhakar Shinde
Sudhakar Shinde le 12 Oct 2020
Yup. You can also look for datestr
Walter Roberson
Walter Roberson le 12 Oct 2020
date_for_plots = datetime(DATA(:,1), 'convertfrom', 'excel');

Connectez-vous pour commenter.

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by