使用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读取即可。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
这篇文章主要介绍了Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法,结合实例形式分析了Python基于日志判断数据是否已经插入的相关操作技巧,需要的朋友可以参考下2019-09-09
Python使用Spire.Doc for .NET轻松实现Word和Markdown互转
在写作、技术文档管理和知识库建设中,Word 和 Markdown 是我们最常打交道的两种文档格式,本文将详细介绍如何使用 Spire.Doc for .NET 在 Python 环境中高效实现 Word 与 Markdown 的互转,有需要的小伙伴可以了解下2026-06-06
Python使用jupyter notebook查看ipynb文件过程解析
这篇文章主要介绍了Python使用jupyter notebook查看ipynb文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-06-06


最新评论