MATLAB Answers

xlsread import empty cell from excel file

2 views (last 30 days)
wessel ter Laare
wessel ter Laare on 20 Aug 2020
Commented: wessel ter Laare on 21 Aug 2020
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,

  0 Comments

Sign in to comment.

Accepted Answer

dpb
dpb on 20 Aug 2020
Edited: dpb on 20 Aug 2020
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 Comment

wessel ter Laare
wessel ter Laare on 21 Aug 2020
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,

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by