Labeling the columns in an array
26 ビュー (過去 30 日間)
古いコメントを表示
If we import a .csv or Excel file using readtable, and then convert the table to an array as the following:
Data=table2array(readtable('Filename.csv'));
We get an output like the following. This syntax process removed all the original labels of each column. Is it possible to label the columns, such as Serial number, Time, Signal 1, Signal 2?
Although one can read and separately isolate the columns, does Matlab allow retaining the labels? Thanks

1 件のコメント
John Doe
2019 年 7 月 12 日
Unless you are doing an operation that does not support table data sets, leave your data as a table.
Alternatively, save all your variables to cell array using:
varNames = t.Properties.VariableNames;
Then when you want to output your data can recreate the table afterwards.
Don't split your data in to individual variables.
採用された回答
Peter Jarosi
2019 年 7 月 12 日
編集済み: Peter Jarosi
2019 年 7 月 12 日
Do not convert your table into an array! Just use table object!
Data=readtable('Filename.csv');
Later, if you want to refer it as a matrix you can use the following syntax:
Data{:,:}
If you want to refer your columns as column vectors use:
Data{:,{'Serial number'}}
Data{:,{'Time'}}
etc.
If you want your signals in a n by two matrix:
Data{:,{'Signal 1','Signal 2'}}
2 件のコメント
Peter Jarosi
2019 年 7 月 12 日
You're welcome!
You can still use your data in a table format, just change your 3rd line to:
Signal1=Data{1:382, {'Signal 1'}}; % data in column in 3
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Tables についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!