【问题标题】:Delete csv file matlab删除csv文件matlab
【发布时间】:2016-06-23 14:12:00
【问题描述】:

当行数超过我可以设置的某个参数时,是否可以在Matlab中删除CSV文件的内容。

我多次运行代码,每次它都会填充我的 CSV 文件的一行。如果我的文件(但不是文件本身)中有超过 100 行,我想删除内容。

我使用下面的代码:

parameters = [data1, data2, data3]
dlmwrite ('MyCSVFile.csv', parameters, '-append')

感谢您的帮助!

【问题讨论】:

  • 为什么不删除文件并用相同的名称重新创建它?
  • 这实际上也可以,但我不确定如何删除文件
  • 容易混淆的delete 可能是一种选择。

标签: matlab csv


【解决方案1】:

我假设您有某种计数器可以多次运行您的代码。 如果是这样,您可以选择

rowlimit=100;
if counter <= rowlimit;
dlmwrite ('MyCSVFile.csv', parameters, '-append');
end;

因此,如果超出行限制,它将停止写入您的文件。

如果您出于其他原因希望其他行放在开头,您也可以只编写一个仅包含一百行的第二个文件。

x=parameters(1:100,:);
dlmwrite ('MyCSVFile2.csv', x, '-append');

这只是变通办法,但你描述它的方式,它对你有用。

编辑

如果您想删除文件并按照 cmets 中的建议重新写入。

去吧:

dlmwrite ('MyCSVFile.csv', parameters, '-append');
...
delete ('MYCSVFILE.csv');
parameters=parameters(1:100,:);
dlmwrite ('MyCSVFile.csv', parameters, '-append');

那么你也只有一百行。

编辑 2

rowlimit=100;
if size(parameters,1) <=rowlimit
dlmwrite ('MyCSVFile.csv', parameters, '-append');
end;

【讨论】:

  • 这些都不能确定文件中当前有多少行。
  • 如果您想计算文件中的行数,有几篇文章介绍了如何计算 csv 或文本文件中的行数。 stackoverflow.com/questions/945006/… - 以这个为例
  • 对,我问是因为这就是他问题的重点。如果您不丢弃内容,“我如何在 100 行处停止写入”需要了解文件,这在您的答案中没有。
  • 我再次编辑了答案,我希望朝着你想要的方向发展。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-02
  • 1970-01-01
  • 2023-01-12
  • 2022-01-22
  • 2011-05-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多