xlsread import empty cell from excel file

13 次查看(过去 30 天)
Good day,
I have created a script where I run through various excel files stored in a folder, and import certain areas into Matlab. As per below short example:
Test_files = dir([SourceFolder '*.xlsx']);
No_of_Tests = size(Test_files,1);
for n = 1:No_of_Tests
Test_filename = Test_files(n).name;
X(n,:) = xlsread(Perf_filename,'TEST','D101'); %Parameter 1
end
In some instances the field in the excel file is left blank. At that time my script crashed.
How can I make xlsread import an empty cell as NaN or Blank or something similar?
Thanks in advance for your kind assistance.
Rgrds,

采纳的回答

dpb
dpb 2020-8-20
编辑:dpb 2020-8-20
Can't that way... xlsread imports what it finds as numeric and an empty cell is not numeric. You could use the multiple optional returns and read the raw cell that (I think, untested) will return an empty cell.
Probably the easiest kludge to fix your problem is
Test_files = dir([SourceFolder '*.xlsx']);
No_of_Tests = size(Test_files,1);
for n = 1:No_of_Tests
try
X(n,:) = xlsread(Test_files(n).name,'TEST','D101');
catch
X(n)=nan;
end
end
But, per the doc xlsread is deprecated, anyways; use one of the suggested alternates (altho even there you may have trouble with a single empty cell expecting numeric result).
  1 个评论
wessel ter Laare
wessel ter Laare 2020-8-21
Hi dpb,
Thanks for your reply, much appreciated.
You are correct, when using the raw option it does work. Only for some reason import a 1 x 2 cell with first value [] and second value as NaN.
[~,~,X(n,:)]
Think I can work with this.
Rgrds,

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by