How to specify the format of just one column with readtable?
48 views (last 30 days)
Show older comments
Hi,
I am using readtable to read a .xls file with header information. All the columns in the table are formatted correctly, except one where I have time of day being written in hh:mm format.
Since I only need this information for further reference and no subsequent computations, I was trying to assign the format of this specific column to string by writting readtable(myxls,'Format','%s'). However, I am unable to assign the format to just this column (in this specific case, the 2nd column). Is there any way I can assign the format of this column, while leaving the other untouched, and without having to specify the format for every single table column?
Thanks in advance for all the advice you can provide.
2 Comments
Shameer Parmar
on 22 Jun 2016
can you please specify the input data along with its format and expected data with format..
For excel read, please use command xlsread()
Accepted Answer
Guillaume
on 23 Jun 2016
Edited: Guillaume
on 23 Jun 2016
Please ignore Shameer's comment about using xlsread instead of readtable. They provide exactly the same support of xls file ( readtable calls xlsread internally), so if one does not work, the other won't work any better. If anythin readtable is better since it provides extra functions on top of xlsread.
Unfortunately, at the moment*, you cannot specify formats for columns of excel files. Note that the Format option only works for text files, not excel files.
In any case, matlab has read your time correctly, but as datenum. You can convert it to date strings with:
%t: your table
%timecolumn: the column that is read as datenum
t.timecolumn = datestr(t.timecolumn, 'HH:MM')
*Note: you will be able to specify individual formats in the next version of matlab.
More Answers (0)
See Also
Categories
Find more on Spreadsheets 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!