matlab批量修改txt内容_MATLAB批量修改文件名

评论区旁友建议使用narsort排序而不是直接修改文件名。我觉得相关条件下也可以,所以原文末尾加上了narsot排序法。

以下是原文

2019-05-09

最近实验室小可爱帮忙做实验和记录实验数据,不过新手总有些错误操作,比方说因为忘记修改存储路径导致图片的命名带括号同时无法排序。比如下图:Fig. 因为括号前有空格和数字,同时括号内数字不等长,MATLAB的dir无法正常排序

在使用MATLAB中“列出当前工作目录中的文件”函数dir的帮助下,我们得到下述排序结果:Fig. 非正常命名的MATLAB自动排序结果

这种排序方式的问题就是,会得到规律变化的时序信号,给人一种我终于可以毕业的错觉。所以为了能让不分时序的MATLAB得到时序的正常图片序列,需要将图片名改为如下格式:Fig. 这才是看起来可能让小可爱和我都毕业的图像序列名

所需MATLAB的lines如下:

****注意!使用前务必备份需要改名的数据!万一造成数据丢失也不会少篇paper~

%% Rename image Seq

filePath = uigetdir; % 兄贵你要处理文件所在的文件夹

files = dir(filePath); % 看看这个文件夹的名字有多可怕

oldName = cell(length(files)-2, 1);

for ii = 3:length(files)

oldName{ii-2} = files(ii).name;

end

newName = cell(length(oldName), 1);

for ii = 2:length(oldName)

a = oldName{ii};

b = str2num(a(12:end-6)); % 删不需要的char

c = num2str(b, '%06d'); % 使文件名等长

newname{ii} = ['B4_', c, '.tiff']; % 改个小改改的名字

movefile([filePath '\' oldName{ii}], [filePath '\' newName{ii}]) % 亲测可用

end

最后的结果就是上一个截图和下面这个截图了:Fig. 虽然这组数据对毕业没有什么太大的贡献,我还是很喜欢它们

希望这篇文章能对和我一样经常dir找不到文件的旁友有所帮助。

以下是2019-05-12新加内容:

评论区旁友推荐使用的narsort函数非常好用,以前亲测可用。相关链接见参考文献3和4。

在去年我的数据文件名全是自然排序的时候我用了参考文献4~ CSDN的博客,一直很喜欢,直到换了课题和设备。如果数据组成结构比较单一,不是结构体套结构体再套...,无限建议使用narsort~~~

narsort函数在批量修改文件名之前用过,但是后来放弃了,不过一时想不起来为什么后来放弃使用这个函数。那么最近几天看了一下数据的组成结构,明白了当时自己为什么在后期的实验处理中放弃MATLAB社区中都极为推崇的自然排序:数据来源于不同的采样设备,多数工业设备都比较老旧,不会采取自然命名法。同时,由于处理方式未知,一组数据不太可能只处理一次。自然排序法加入批次处理后,要求文件名序列 must be a cell array.,实际上在整体运行的时候结构体的结构体里的元胞数组。。。一个循环,然后再存进结构体里,然后粘贴名字又一个循环。其实和事先找出异常组单独修改相比,看个人需要。目前资瓷改文件名。

lingling

参考文献:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值