使用matlab读取含表头csv文件

 更新时间:2023年06月25日 09:49:27   作者:衷科知眠  
这篇文章主要介绍了使用matlab读取含表头csv文件问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

matlab读取含表头csv文件

matlab中常用的读取csv的函数为csvread,

其调用格式为:

data = csvread(csv_file, R, C, RNG)

其中csv_file为要读取的csv文件,R为从第R行开始读取,C为从第C列开始读取,RNG为读取的行列范围,比如 RNG = [R1,C1, R2, C2]。

值得注意的是,虽然matlab默认的序号一般是从1开始,但是对于R和C的设置却是从0开始的,也即,如果想要从文件中的第一行读取,则R应该设为0。

使用csvread读取csv文件的前提是csv文件为纯数值文件,如果文件中含有字符就会报错。

比如无法读取如下带有表头的文件。

可有时,表头的信息对于后续的数据分析是必要或者更方便的,我们就需要将表头信息读取进来,csvread函数就无法满足该需求了。

此时,我们可以使用比较原始的函数importdata,其调用格式为:

headerData = importdata(csv_file)

该函数会返回一个struct类型结果,并会自动将文本与数值分别保存在两个变量中例如上述的表格,其结果为:

其中data中为数值结果,

textdata中为字符结果

 此时,我们可通过对字符变量索引来获取表头信息,比如,获取表头中的第5个变量,

可通过命令

headerName = headerdata.textdata{1,5}

得到对应的表头变量,以供后续使用。

matlab读取xls、xlsx、csv文件

常常我们在matlab里需要读取excel数据文件或者保存matlab中矩阵的数据。

但是直接在matlab里用xlswrite写出的文件实际上是csv格式,在matlab里无法用xlsread读取。

笔者总结如下。

1 matlab读写excel文件

读xlsx、xls文件:

如果是读xls文件,就改一下后缀。

写xlsx、xls文件 :

training是要写出的矩阵数据。

2 matlab读写csv文件 

3 注意区分csv文件和xlsx文件

这是xlsx文件 

 这里在matlab里显示是csv文件而不是xls文件,虽然它的后缀是xls。

 

真正的xlsx文件在matlab里显示仍是xlsx文件。这样你就知道该按csv读取还是xlsx读取。

觉得csv和xlsx相互转换麻烦的同学,也可以在wps里也可以先打开csv文件,再另保存为xlsx文件,再在matlab里用xlsread读取即可。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论