MATLAB中批量读取处理数据文件(没有命名规律的数据文件)
问题描述:批量处理数据是科研,工作过程中经常遇到的问题。对于很多新手来说,怎么读取数据就是一个比较棘手的问题,尤其是那些完全没有命名规律的文件,人工一个个的读吧费事费力又枯燥,写个循环自动读吧文件命名又没有规律。本文就是专门解决这个问题的。
解决方法:写个循环让程序自动读取文件无疑是一个明智的做法,实现起来也非常简单。步骤如下:
(1)在存放源数据的文件夹下新建一个文本文档。
(2)打开新建文本文档,在文档中输入一下代码:
@echo off
dir /b /on >list.txt
(3)关闭文档,重命名文档的格式为.bat。这时会有提示,改变文件扩展名,可能会导致文件不可用,确定要修改吗?点击是即可
(4)双击.bat文件,在同一文件夹下会生成list.txt文件。注意这不是你新建的那个文档,而是系统自动生成了一个新的文档。list.txt文档中包含了此文件夹下所有文件的文件名。
接下来就该利用list.txt文件读取数据文件了,不同平台上的程序代码可能有所差别,但是基本处理流程大同小异,根据自己的平台稍微做些修改就行。 下面以matlab程序读取excel文件例说明数据读取过程。
(5)path=‘D:document/……’%源文件的路径。
filenamelist=textread(strcat(path,’list.txt’),’%s’,-1)%filenamelist即源文件名变量,变量是元胞型的,除去新建文档和list文件名,剩下的都是源文件名;strcat是MATLAB自带的字符串连接函数。
(6)num=cell(length(filenamelist)-2);%用来存放从源文件读出的数字
txt=cell(length(filenamelist)-2);%用来存放从源文件读出的文本
for k=1:length(filenamelist)-2
filename=strcat(path,filenamelist{k});
[num{k},txt{k}]=xlsread(filname);
end
到此,就把所有源文件的数据都保存到变量num和txt中了,后续再对数据进行处理的话,就直接读取这两个变量就行了,简单方便吧!!!
本文详细介绍了如何在MATLAB中批量读取处理无命名规律的数据文件,通过创建批处理脚本生成文件列表,然后利用MATLAB读取list.txt中的文件名,实现对每个文件的数据读取和存储,简化了科研和工作中处理大量数据的流程。
4712

被折叠的 条评论
为什么被折叠?



