how to find an empty row in a table
84 views (last 30 days)
Show older comments
Hello, I'm trying to get rid of a certain row in a single column table that only has a []. for example if I have a table.
column 1
row1 | 'hey' |
row2 | 'hey' |
row3 | [ ] |
how can I get it to be
column 1
row1 | 'hey' |
row2 | 'hey' |
I have a code that works but for larger tables it's extreemely slow.
yee = "original table";
yee1=table;
for n=1:numel(yee)
if isa(yee{n},'char')
bus=yee(n);
yee1 = [yee1 ; bus];
end
end
I feel like there's a lot more efficient ways to do this. Thanks for any help!
0 Comments
Accepted Answer
Matt J
on 21 Jun 2019
Edited: Matt J
on 21 Jun 2019
loc=cellfun('isempty', yourTable{:,'column1'} );
yourTable(loc,:)=[]
3 Comments
Gabor
on 4 Mar 2021
For me it works if I convert the table to cell and I use the column number in the script:
yourTable2=table2cell(yourTable);
loc=cellfun('isempty', yourTable2{:,1} );
I hope it helps someone.
More Answers (1)
Guillaume
on 21 Jun 2019
Even simpler, and probably faster, use the table tools (rather than cell array tools):
yourtable = rmmissing(yourtable)
1 Comment
See Also
Categories
Find more on Matrices and Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!