How to make matlab variables named as excel header
3 次查看(过去 30 天)
显示 更早的评论
I have a very generic excel file I am importing intp matlab.
First row is strings as the header names.
every row beneath that is a string (date) or numeric value. I want to make a matlab array as the header of each column, and the data in the array is the numeric value for each corresponding row. What would be the best method to do this? I have tried a few other methods found on here using evalin() and no luck.
xls file attached for reference.
0 个评论
回答(2 个)
Bob Thompson
2019-9-26
It sounds like readtable might be what you're looking for. I don't think it's exactly what you're asking, but it should recognize the column headers as variable names, and then assign data accordingly.
4 个评论
Bob Thompson
2019-9-26
Mmm, I see now. The only way to create variables in that manner is with the eval command, which nobody ever recommends because it is terribly inefficient and leads to very bad coding practices.
I don't mean to sound like a broken record, but again I recommend using the table class variable. If you want to refer to a specific set of data then you can call the data using dot notation.
>> T = readtable('FIT-03801L1.xls');
>> T.t
ans =
1
2
3
>>
Alternatively, you can read the information in with readtable and then convert the data into a structure array, which is handled in much the same way.
>> T = readtable('FIT-03801L1.xls');
>> T = table2struct(T);
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spreadsheets 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!