1. 首页 > 科技

matlab批量导入一个文件夹下的子文件夹中的excel文件,并进行批量处理?

matlab批量导入一个文件夹下的子文件夹中的excel文件,并进行批量处理?

matlab 连续导入多个excel文件并分别保存变量

你的file_name是有问题的,你的本意应该是file_header,file_number,file_name这三个字符串的合并在一起组成file路径,但是你现在file_name = [file_header file_number file_suffix];就变成是一个由三个字符串组成的数组了。应该用file_name =strcat(file_header,file_number,file_suffix);

满意请采纳,不懂可追问,谢谢!

怎么把matlab中的数据批量导入 excel

选择“open

file”,即

file中的“open

",就会出现一个对话框,先把对话框的最下面“文件类型”选择“all

files”,再在“查找范围”的下拉框里选择你要导入的excel数据,单击“打开”就会出现一个matlab的对话框,单击“finish”就行了。此时在matlab的窗口中的“workspace”里面就存有你要的数据了。

matlab导入多个excel表

将您的所有excel数据存到同一个目录下,下面的”'E:\Software\Matlab\bin\“是我的测试路径,您可修改为您的路径;将下面的脚本程序保存到上述路径并命名为”batchread.m",并在MATLAB命令窗口中执行该脚本程序:

%batchread.m

clear;

clc;

getfilename=ls('E:\Software\Matlab\bin\MyKMV\*.xl*'); %取目录下所有excel文件的文件名(.xls或.xlsx)

filename = cellstr(getfilename); %将字符型数组转换为cell型数组

num_of_files = length(filename); %excel文件数目

for i=1:num_of_files %循环读入excel数据并存入结构体database中

database(i) = struct('Name',filename(i),'Data',xlsread(filename{i}));

end

%注:该脚本将所有的excel数据读入到变量database中,database向量的每个元素为一结构,该结构由文件名Name和文件中的数据Data组成,具体访问第i个excel数据的方法为:

database(i).Data

怎样利用matlab去读取一个excel表中多个sheet的数据并导入一个sheet中?

方法如下:

使用函数xlsread读取单个文件。

1. num=xlsread(filename)

filename是单引号括起来的带路径的文件名,函数直接读取filename所指文件的sheet1中的数据区域存储到双精度矩阵num中;其中 数据区域的选取规则是:对表格前几个含有非数值的行(列)直接忽略,不算入数据区域;另外如果在数据区域中含有非数值的单 元,将其处理为nan。

2. num = xlsread(filename, -1)

输入后matlab将会打开相应的exel文件,用鼠标选择需要导入的数据区域,可以切换到想要的sheet。

3. num = xlsread(filename, sheet)

其中sheet用来指定读入excel文件的第几个sheet,此时的sheet取值大于1的整数。

4. num = xlsread(filename,sheet, 'range')

其中range指定一个矩形的区域,用单引号括起来;例如:'D2:H4'代表以D2和H4为对角定点的矩形域;

5. 当excel中有合并单元格时,任何一个合并前的单元格的名字(比如D1)都会指代整个合并后的单元格,而将整个单元格读入,所以为了避免麻烦,尽量避免在需要读入的表格中合并单元格。

例如:

将读取D盘下的一个文件路径为:

D:/test/daxia.xls

num = xlsread('d:/test/daxia.xls',2,'D2:H4')读取sheet2的D2:H4区域数据

如果要进行交互式的选择用:num = xlsread('d:/test/daxia.xls',-1)

批量的文件要读取:

1. 首先将多个文件进行批量重命名例如daxia1.xls,daxia2.xls,daxia3.xls,...

2. 然后用循环的方式实现:

for i=1:100

filename=['d:/test/daxia',num2str(i),'.xls']; 

num=xlsread(filename)

end