matlab读csv文件

2 篇文章 1 订阅
1 篇文章 0 订阅

MATLAB 读csv文件

带有字符串的csv文件

我要读入的数据:
在这里插入图片描述
可以看到他是有抬头,并且不是纯数据的csv文件。

方法一:

如果使用csvread读取

data=csvread('mc1data.csv',1,0);%csvread只能读取纯数据

csvread(fid,start row,start column)
fid:要读取的csv文件名
start row:开始读取的行(第一行是0,第二行是1)
start column:开始读取的列(第一列是0,第二列是1)
csvread默认索引为0
会出现如下错误:
在这里插入图片描述
发生错误的原因是,我是从第2行第1列开始依次读取数据。虽然跳过了字符串抬头,第一列的数据是字符串,所以仍然错误。

data=csvread('mc1data.csv',1,1);%csvread只能读取纯数据

就会有如下结果:
在这里插入图片描述
对比原始数据表格发现:它把原来空数据的位置,填充为0了

方法二:

通过查阅网上的博客并且与同学交流之后,我找到了一种非常快速的方法(此方法虽然简便,但是貌似对数据量过大的数据不太友好,因为我使用的数据量不是很大)

参考博文:https://blog.csdn.net/m0_37639589/article/details/77385833

clear all;
clc;
fid=importdata('mc1data.csv');
total_row=size(fid.data,1);
data=fid.data;

importdata之后得到结构体,如下图所示:
在这里插入图片描述
data:纯数字数据
在这里插入图片描述和上面的importdata的结果不同,这里空的数据没有被填充数字0。
textdata:字符串数据
在这里插入图片描述
有抬头,有字符串数据

方法三:

(1)将csv文件转化为txt文件并且删掉了抬头
在这里插入图片描述

(2)filepath='mc1data.txt';fid1=importdata(filepath);
在这里插入图片描述
(1)data:纯数字数据(相同)
(2)textdata:
在这里插入图片描述
(3)row headers:
在这里插入图片描述
fscanf 函数使用matlab官方文档:
https://ww2.mathworks.cn/help/matlab/ref/fscanf.html

  • 22
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值