【MATLAB】文件路径操作

0 前期教程

1 前言

  使用MATLAB进行数据分析时,首要的一般是读取文件,除了掌握常用的读写文件函数外(↑前期教程1),如果存在多个文件的情况,就会用到文件路径操作相关的函数。

2 遍历文件夹中的所有文件

  当需要读取的数据文件都在一个文件夹中时,如何遍历文件夹下的所有文件,实现依次读取?最简单的方式是采用dir函数。其语法如下所示。

dir %列出当前文件夹中的文件和文件夹
dir dirname %列出dirname对应的路径下的文件和文件夹

需要注意的是,dir函数返回的数据形式为结构体数组(struct),且还包含当前文件夹和上一级文件夹,即"."".."

>> A = dir
A = 
  包含以下字段的 21×1 struct 数组:
    name
    folder
    date
    bytes
    isdir
    datenum
    
%% 如果要索引其中的某个文件,需要先索引,再取项
>> A(2).name %对应前面提到的上一级文件夹
ans =
    '..'

  此外,需要注意的是,这里输入的文件夹路径参数(dirname)是支持通配符的(主要是 * 和 ? 两个符号),比如需要提取固定后缀的文件,可以传入"xxxxx\*.txt"这样的字符串,实现只读取txt后缀的文件。

3 文件路径合并

  在读取多个数据文件时,会需要得到数据文件的绝对路径,而输入的往往是数据文件所在文件夹的路径,因此就需要用到文件路径合并的方法。

3.1 字符串合并

  在MATLAB中,文件路径本质上是字符串,其数据类型为char,而在MATLAB中可以用+来连接字符串,因此可以文件夹路径 + '\' + 文件名来得到文件的绝对路径。

3.2 fullfile

  当需要合并的内容较多时,需要的加号也就越多,同时还要输入分隔符\,比较麻烦,而使用fullfile函数就不需要考虑输入分隔符,同时还不需要考虑系统平台带来的分隔符不同的问题,更加简便。其语法如下所示。

f = fullfile(filepart1,...,filepartN)

4 路径拆分——fileparts

  当已知某个文件的绝对路径时,想要获取该文件所在文件夹,就需要使用到路径拆分,同样,文件路径本质上就是字符串,因此可以用sscanf或者正则表达式等对字符串进行分隔,但是在MATLAB中提供了一个文件路径拆分的函数,即fileparts,其语法如下所示。

[filepath,name,ext] = fileparts(filename) 
%文件夹路径 文件名(不含后缀) 文件后缀
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

记录无知岁月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值