How to import a column from an Excel file?
14 ビュー (過去 30 日間)
古いコメントを表示
This is my excel file:
Here I read the entire column A of the Excel sheet named "Lazy_eight" but the problem is that I have different sheets in which the column A has a different number of elements. So, I want to import only the numbers without specifing the length of the column vector.
I use the function readmatrix with the following syntax in order to read the entire column:
p_time = readmatrix('Input_signals.xlsx','Sheet','Lazy_eight','Range','A:A')
i get this in matlab workspace:
So, I wish to give to the "readmatrix" function only the first element of the column I want to import but I want that it stops at the last element, without specifing the coordinate of the last element in order to avoid the NaN that you can see in the last image. I want to import only the numbers without the NaN value.
I cannot read the initial and the last element (in this way: 'Range', 'A3: A13') beacuse in every sheet the column A (as the other ones) has a different number of elements.
2 件のコメント
João Mendes
2021 年 4 月 16 日
Maybe you can just import the entire matrix and then, in matlab, isolate the first column? Or that is not what you want?
採用された回答
Clayton Gotberg
2021 年 4 月 16 日
Since it seems that you just need to get rid of the NaN values, try using logical indexing with the isnan command.
p_time = p_time(~isnan(p_time));
This will remove all NaN values from the p_time vector.
As an example:
p_time = [5 NaN 3 7 NaN]; %double
eliminate_NaN_logical = ~isnan(p_time)
returns
eliminate_NaN_logical = [1 0 1 1 0]; %logical
and
p_time_cropped = p_time(eliminate_NaN_logical)
returns
p_time_cropped = [5 3 7]; %double
because MATLAB assumes you want a vector with only the elements for which eliminate_NaN_logical is true.
0 件のコメント
その他の回答 (1 件)
参考
カテゴリ
Help Center および File Exchange で Data Import from MATLAB についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!