How to read units on a 2nd row out of an Excel file?

28 views (last 30 days)
Attached is an example Excel file.
I'm using this command to read the info out of the file:
T1 = readtable('test.xlsx', 'PreserveVariableNames',true);
Here is my question. How do I read the units out of the 2nd row?
Thanks!

Accepted Answer

Walter Roberson
Walter Roberson on 17 Jun 2020
filename = 'test.xlxs';
opt = detectImportOptions(filename);
opt.VariableUnitsRange = '2:2'; %row number
T1 = readtable(filename, opt);
T1.Properties.VariableUnits will be set.
  4 Comments
Walter Roberson
Walter Roberson on 17 Jun 2020
you cannot mix named options with the option structure. There is a field you can set in opt to preserve variable names but I would need to to look up the proper name.
Leon
Leon on 17 Jun 2020
Thanks!
It seems this works:
opt.PreserveVariableNames = 1;

Sign in to comment.

More Answers (1)

Ameer Hamza
Ameer Hamza on 17 Jun 2020
Try this
units = readtable('test.xlsx', 'Range', 'B2:D2', 'ReadVariableNames', false);
  1 Comment
Leon
Leon on 17 Jun 2020
Many thanks!
I'm building a set of tools and this function needs to work for all files without knowing the column number. The units will always be on the 2nd row. Is there a way I could do without specifying the 'B2:D2' thing?
Another question. Once the units are read out. How do I call the text string? I tried the below:
a=units.(1)
But, what I got is a cell array: {'DEG/C'}, instead of a string.

Sign in to comment.

Tags

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!