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

本文详细介绍了如何在Matlab中使用table和fopen/fprintf方法将矩阵数据保存为CSV文件,包括设置表头和避免自动生成表头的技巧。

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

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

所以在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

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

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

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

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

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

资源下载链接为: https://pan.quark.cn/s/9e7ef05254f8 在 IT 领域,数据处理与交换极为关键。本文聚焦于 MATLAB 环境下将 CSV 文件转为 MAT 格式的过程,以及 CSV 文件的来源,其通常由 C/C++ 程序生成。这涉及数据读取、处理和存储等编程基础操作。 CSV 是一种通用文本文件格式,用于存储表格数据,如电子表格或数据库,数据以逗号分隔,便于不同应用程序间交换数据。C 和 C++ 处理矩阵数据时,常输出为 CSV 文件,因其易于生成和读取,且跨平台兼容性好。MATLAB 是一款强大的工具,用于数值计算、符号计算、数据分析和可视化,其特有的 MAT 文件格式是二进制格式,用于存储变量、函数、数组等数据,能保留原始 MATLAB 数据类型和结构,便于在 MATLAB 环境中直接使用。 在 MATLAB 中,将 CSV 文件转为 MAT 文件的操作十分简单。可使用 readtable 函数读取 CSV 文件,再用 save 函数将其保存为 MAT 格式。以下是一个示例脚本: 该脚本会遍历当前目录下所有 CSV 文件,将每个文件读取为 MATLABtable 对象,然后以文件名(不含 .csv 扩展名)作为变量名,保存为 MAT 文件。需注意,MATLAB 的 readtable 函数默认将第一行视为列名,若 CSV 文件无列名,可设置 HeaderLines 参数为 0。另外,-v7.3 选项用于保存大数组,因较旧的 MATLAB 版本可能无法处理大于 2GB 的数据。 对于 C/C++ 与 MATLAB 之间的数据交换,除了上述以 CSV 作为中介的方式外,还可直接使用 MATLAB 编写的 MEX 文件MATLAB Engine API。MEX 文件MATLAB 可执行的 C/C++ 代码,可实现 C/C++
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值