前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Matlab保存数据到csv文件的方法分享

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

作者头像
用户9925864
发布2022-07-27 09:45:14
6K0
发布2022-07-27 09:45:14
举报
文章被收录于专栏:算法工程师的学习日志

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

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

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

1、方法1:table

代码语言:javascript
复制
%需要保存的矩阵
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

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

代码语言:javascript
复制
result_table1=table(A)
writetable(result_table1, 'test1.csv');

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

2、fopen

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

代码语言:javascript
复制
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中自动生成表头的问题

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法工程师的学习日志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档