MATLAB Answers

How to truncate the data in a column vector

52 views (last 30 days)
Darryl on 2 Nov 2013
Commented: Darryl on 4 Nov 2013
I am reading in data from a .xlsx file. One of my columns is the current time which is formatted hour:mins and the other column is the data which is formatted dd/mm/yyyy.
I would like to be able to truncate the time column so I only get the hour, then do the same for minutes (obviously I will have to copy the column vector before hand). The same goes for the date column that uses a / delimiter.
What is the best solution for this?

  1 Comment

Azzi Abdelmalek
Azzi Abdelmalek on 2 Nov 2013
Post a sample of your data (five lines) then show what you want as result

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 2 Nov 2013
Try this:
% Create sample data in Darryl's format.
clear d;
for k = 1:5
d{k, 1} = datestr(now, 'HH:MM');
d{k, 2} = datestr(now, 'dd/mm/yyyy');
% Now we have sample data in the proper format,
% and now we can start.
% Truncate the first column to hours only
for k = 1 : 5
d{k, 1} = datestr(datenum(d{k, 1}), 'HH');


Show 2 older comments
Darryl on 3 Nov 2013
I do apologise, please find my .xlsx file attached, and yes they are strings.
Image Analyst
Image Analyst on 3 Nov 2013
Column E and F? Why did you read those in? It looks like the data are in columns H and I, isn't it? Please clarify which columns you want, and if it's E and F like you use in your code, what do those numbers mean?
Darryl on 4 Nov 2013
Sorry, yes the columns that need reading in are H and I. The code I used above is extracting data from another .xlsx file.
I'll give you a rundown of the columns:
ID number; lat; long; altitude; speed; tracking angle; satellites; time; date;
So columns E and F are in this case speed and tracking angle

Sign in to comment.

Sign in to answer this question.