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

 2023-12-06 阅读 22 评论 0

摘要:如果我理解你的問題的第一部分,你想刪除 newfile 單元格數組中只包含空單元格的任何行 . 您可以使用函數CELLFUN來查找空單元格,使用函數ALL查找包含所有空單元格的行,然后使用logical indexing刪除這些行:>> newfile = cell(5,5); %#

如果我理解你的問題的第一部分,你想刪除 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參數 'isempty' 更改為 @(x) strcmp(x,' ') 以獲得相同的結果 .

關于第二個問題,您可以在調用XLSWRITE中指定要添加數據的文件中的工作表和行/列范圍 . 如果您每天添加一次文件,最簡單的解決方案可能是添加一個以日期作為名稱的新工作表 . 以下內容將 M 中的數據寫入文件 fileName ,添加一個以當前日期和時間命名的新工作表:

xlswrite(fileName,M,datestr(now));

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/189217.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息