matlab 删掉空行,在MATLAB中使用XLSWRITE:如何删除空单元格?

本文介绍了如何在MATLAB中利用CELLFUN和logical indexing删除包含空单元格的行,并在使用XLSWRITE时指定工作表和行/列范围,特别是处理以空格初始化的单元格数组问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果我理解你的问题的第一部分,你想删除 newfile 单元格数组中只包含空单元格的任何行 . 您可以使用函数CELLFUN来查找空单元格,使用函数ALL查找包含所有空单元格的行,然后使用logical indexing删除这些行:

>> newfile = cell(5,5); %# Empty cell array

>> newfile(:) = {''}; %# A different way to assign values without DEAL

>> newfile([1 2 4 5]) = {'a'} %# Make some non-empty cells

newfile =

'a' '' '' '' ''

'a' '' '' '' ''

'' '' '' '' ''

'a' '' '' '' ''

'a' '' '' '' ''

>> emptyIndex = cellfun('isempty',newfile) %# Logical index of empty cells

emptyIndex =

0 1 1 1 1

0 1 1 1 1

1 1 1 1 1

0 1 1 1 1

0 1 1 1 1

>> newfile = newfile(~all(emptyIndex,2),:) %# Removes 3rd row

newfile =

'a' '' '' '' ''

'a' '' '' '' ''

'a' '' '' '' ''

'a' '' '' '' ''

EDIT: 如果使用空格( ' ' )而不是空字符串( '' )初始化单元格数组 newfile ,则必须在上面的代码中更改计算 emptyIndex 的方式 . 应将CELLFUN参数 'ise

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值