如何将数据保存为给定格式的文本文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将数据保存为给定格式的文本文件?相关的知识,希望对你有一定的参考价值。

我想将矩阵保存到文本文件中,所以我可以通过其他程序读取它。现在我使用:

save('output.txt', 'A','-ascii');

但这会将我的文件保存为

6.7206983e+000  2.5896414e-001
6.5710723e+000  4.9800797e-00
6.3466334e+000  6.9721116e-001
5.9975062e+000  1.3346614e+000
6.0224439e+000  1.8127490e+000
6.3466334e+000  2.0517928e+000
6.3965087e+000  1.9721116e+000

但我想让他们在没有“电子记谱法”的情况下保存,而不是所有的数字。是否有捷径可寻?

编辑:谢谢!这很好用。抱歉,我认为我使用回滚搞砸了你的编辑。

答案

我会使用fprintf函数,它允许您自己定义输出数据的格式。例如:

fid = fopen('output.txt', 'wt');
fprintf(fid,'%0.6f %0.6f
', A.');
fclose(fid);

这将在小数点后输出6位精度的矩阵A.请注意,您还必须使用fopenfclose函数。

另一答案

Ditto gnovice的解决方案,如果您需要性能和自定义格式。

dlmwrite为您提供格式化的一些控制(全局,而不是每个字段)。但它的性能较差。几年前我进行了测试,dlmwrite比fopen / fprintf / fclose解决方案慢了5-10倍。 (编辑:我指的是大型矩阵,如15x10000矩阵)

以上是关于如何将数据保存为给定格式的文本文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何将TXT文件保存为HTML

如何将在c语言中生成的数据保存到文本文件中?

php中如何把一个文本内容保存成一个二进制文件?

如何批量将CSV格式的文件转化成excel格式

如何将treeview的内容写入文本文件

java中如何把输入的数据以json格式保存在文本里面