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

6 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.

Categories

Find more on Text Data Preparation in Help Center and File Exchange

Tags

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!