0
点赞
收藏
分享

微信扫一扫

Matlab保存数据到csv文件的方法分享

✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。

🍎个人主页:算法工程师的学习日志

一个同学咨询了一个问题,如何把matlab变量区的数据保存到csv文件里面,故此分享一下Matlab保存数据到csv文件的方法。csv其实也是一个txt,只不过csv是带特定格式的txt而已,举个例子,编辑一个txt文件,内容如下

Matlab保存数据到csv文件的方法分享_数据保存

把这个文件名后缀修改为csv,新建 文本文档.csv,则用excel打开

Matlab保存数据到csv文件的方法分享_数据保存_02


所以在matlab中保存为csv其实和保存为txt方法类似

1、方法1:table

%需要保存的矩阵
A=[1 2 3;4 5 6; 7 8 9];
%行名称
m=['m1';'m2';'m3']; 
%列名称
col={'test' 'c_1', 'c_2', 'c_3'}; 
%生成表格,按列生成
result_table=table(m,A(:,1),A(:,2),A(:,3),'VariableNames',col);
%保存表格
writetable(result_table, 'test.csv');

采用把数据拼装为table类型,然后writetable

Matlab保存数据到csv文件的方法分享_数据保存_03

如果不需要设置表头这些,直接输入

result_table1=table(A)
writetable(result_table1, 'test1.csv');

Matlab保存数据到csv文件的方法分享_数据_04

但注意一下,writetable也会按照变量名称生成一个表头,这个暂未找到如何取消,懂得朋友可以私信我一下方法

Matlab保存数据到csv文件的方法分享_数据_05

2、fopen

csv格式是用逗号分隔数据的一种文件。一行之间的数据用逗号分隔,行与行之间用\n分隔。用MATLAB将数据写入csv文件时,首先用fopen创建一个有写入权限的文件,然后用fprintf函数将数据逐一写入。不换行的数据用逗号分隔,换行时用\n。

fid = fopen('test.csv', 'w+', 'n', 'utf8');    % 创建一个csv文件
for i=1:3
    fprintf(fid, '%d,%d,%d\n', A(i,1),A(i,2),A(i,3)); % 一行3个数据,用逗号分隔;每行结束后加上\n换行
end

Matlab保存数据到csv文件的方法分享_MATLAB_06

用fprint的方法就不存在方法1中自动生成表头的问题

举报

相关推荐

0 条评论