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

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!

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 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 Kommentare

Leon
Leon am 17 Jun. 2020
Many thanks! This is brilliant!
One typo: xlxs -> xlsx
BTW, why doesn't this work?
T1 = readtable(filename, opt, 'PreserveVariableNames', true);
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.
Thanks!
It seems this works:
opt.PreserveVariableNames = 1;

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Ameer Hamza
Ameer Hamza am 17 Jun. 2020
Try this
units = readtable('test.xlsx', 'Range', 'B2:D2', 'ReadVariableNames', false);

1 Kommentar

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.

Melden Sie sich an, um zu kommentieren.

Produkte

Version

R2020a

Tags

Gefragt:

am 16 Jun. 2020

Kommentiert:

am 17 Jun. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by