我需要将一些数据保存到现有表中。所以我有列名和一行有数据。现在我得到第二组信息,我需要把它放在第二行,依此类推。 你能指点我在哪里找到这个吗? 到目前为止我已经这样做了。使用save(-struct)播放了arround,但似乎无法正常工作。
if exist('table.mat','file')
...
...
else
dataCell = [name,trez,score];
colNames = {'Name','R','G','B','Shape'};
uisave({'colNames','dataCell'},'table');
end
所以我检查是否有table.mat
,如果没有,它会创建一些传递的值。现在table.mat
存在,我需要输入第二个值而不删除其他值。
更新
好的,我做了这样的代码:
if exist('table.mat','file')
dataCell = [name,num2cell(trez),num2cell(score)];
save('table.mat', '-append','dataCell');
else
dataCell=[name,num2cell(trez),num2cell(score)];
colNames={'Name','R','G','B','Shape'};
uisave({'colNames','dataCell'},'table');
end
但是当我使用以下方法保存数据时
dataCell = [name,num2cell(trez),num2cell(score)];
save('table.mat', '-append','dataCell');
删除旧条目。让我们在我的表中说信息如下:
姓名| R | G | B |形状|
橙色| 239 | 135 | 2 | 0.87
然后,如果我尝试保存另一个条目,如:
Apple | 100 | 31 | 56 | 0.79
删除橙色。那么我需要添加一些东西或使用其他方法来保存这种信息吗?
答案 0 :(得分:3)
save
命令可以带有-append
标志,该标志允许您将数据添加到现有文件而不会覆盖旧数据。但是.mat文件-append
只允许您添加新变量。如果指定.mat文件中已存在的变量名称,则将覆盖该变量名称。
但是,如果要保存为ASCII文件,则只需将数据附加到文件末尾。
这为您提供了两种选择。
更新:在重新阅读原始问题之后,我不得不问为什么不在一次操作中保存而不是逐行保存?