高分求助matlab批处理excel数据,满意再加100分

请教:如何用matlab遍历某个文件夹下的excel文件,然后要依次读入每个excel表格文件中的数据,并且对各个表格中的数据进行处理! ps:表格内数据格式相同,现在想对excel表进行逐个读取(不想手动一个个xlsread去读),然后执行函数计算,而函数模块已经编好,就是应该如何逐个读取EXCEL该如何实现呢?补充:即先读一个excel表,然后执行编好的函数,再接着将结果存入一个预定的矩阵中,然后自动读取第二个excel表,不知是否可以实现?请各位帮忙!!!

把这个EXCEL文件放到matlab目录下的work里,假设名为1.xls,然后在matlab里输入A=xlsread('1.xls'),即可导入数据,这时A是一个矩阵,若要其中的两列画图,可以这样:假设A为20行4列,我们要第3列所有的数据做为X轴坐标,第5列做Y轴坐标,命令如下:x=A(:,3);y=A(:,5);plot(x,y)
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-16
既然知道xlsread就简单了
比如文件名是在f盘下的1.xls,2.xls...100.xls
那就可以这样:
data=cell(100,1);
for i=1:100
data{i}=xlsread(['f:\',[i+'0','.xls']])
end

['f:\',[i+'0','.xls']] 在i=1的时候
ans =
f:\1.xls
以此类推

能看明白吧。
其他的要求是你自己能做的。。追问

你好,如果文件名不连续该怎么办呢?

追答

比如 files = dir('F:\*.xls');
在files(1).name files(2).name ... files(100).name 就是读取出的文件名

那么承接之前的答案:
data=cell(100,1);
for i=1:100
data{i}=xlsread(files(i).name)
end

本回答被网友采纳
第2个回答  2012-04-15
写一个循环 具体跟我讨论追问

你好,是不是在一个文件夹下面写循环呢?应该写出怎样的循环啊?具体应该怎样做呢?

追答

得看具体问题了,你文件夹名字有规律吗?有批量读取保存的方法的,你是做什么研究的呢?

追问

你好,我想问下啊,如果是数字而且连续怎么做呢?如果要是没有规律,又应该怎么做呢?谢谢~

追答

楼下的朋友都回答的不错了,具体情况都有解决方法的

追问

文件名不连续的怎么办呢?

第3个回答  2012-04-15
其实批处理excel数据最好方法是用excel自带的编程工具Excel VBA
如果以后要经常处理最好自学一下,只要有学过编程就很容易上手的
你把方案数据发给我吧我如果有空帮你看看
fjbylong@qq.com追问

你好,我的意思是对于一个文件夹下的所有excel文件进行批处理,而不是对于一个excel文件进行的处理,这样可以做到吗?

追答

当然可以,这正是Excel VBA的好处。各个编程语言各有其长处,要会选用,比如Excel VBA可用于与Excel表格结合进行复杂计算, Matlab可用于数理分析,Lingo用于求解规划问题,当然matlab也一定能行,就是比较麻烦。
针对不同文件名不连续的可仿照以下读图程序,类似的
%打开文件夹读取图像
clc; clear all;

pathname=uigetdir(cd,'请选择文件夹');
if pathname==0
msgbox('您没有正确选择文件夹');
return;
end

filesjpg=ls(strcat(pathname,'\*.jpg'));
files=[cellstr(filesjpg)];
len=length(files);
flag=[];%确定加载图片的数量
% 开始批量处理图像
for ii=1:len
if strcmp(cell2mat(files(ii)),'')%将图像转变为矩阵并比较,若相同则返回1
continue;
end
Filesname{ii}=strcat(pathname,'\',files(ii));%将字符数组的对应行级联起来
page{ii}=imread(cell2mat(Filesname{ii}));
end
data=[];%需求数据矩阵
不懂再问

满意再加100分,谁能帮忙做几个会计分录,高分求助
1、2008年年末计提坏账准备前坏账准备余额=30000-25000=5000 2008年末坏账准备余额=2400000*3%=72000 借:资产减值损失 67000 贷:坏账准备 67000 2009年年末计提坏账准备前坏账准备余额=72000+5000=77000 2009年末坏账准备余额=2000000*5%=100000 借:资产减值损失 23000 贷:坏账准备 23000 2...

用matlab对文件进行批处理
1、单击顶层工具栏里的“工具”,接着点击最后的“选项”。在选项栏进去之后的页面选择倒数第二个“配置”。2、左边的白框里有多种选择,不用管它的存在。直接点击“重置”,然后点击“确定”就可以了。

高分求助win7问题!解决再加100分!我在电脑“开始”-“所有程序”-“启...
先给BAT创建快捷方式,然后快捷方式右键属性中的快捷方式选项卡,修改“目标”为“C:\\Windows\\System32\\cmd.exe \/c <你的批处理文件>”,就可以在下面的高级按钮中看到“用管理员身份运行”的选项了

请问如何用matlab批处理多个数据文件??
把.mat文件放到一起 先ctrl+a再按F2 命名为XX(i).mat for i=1:100 load strcat('XX(',num2str(i),').mat'');end strcat是全并string

高分求助,Excel数据转置排序问题,不管VBA或者普通公式或者数组公式...
用VBA试试,好像代码写的不够优化!!Sub ExcelSort() Dim Conn As Object, Rst As Object, Arr(), Arr1(), Arr2() Dim StrConn As String, StrSql As String Dim iRow As Long, k1 As Long, k2 As Long, i As Long Dim D As Object iRow = Range("C65535").En...

excel表格批处理提取最大数,高手请进,高分求助,粘贴党滚?
方法一:1、复制A列到C列,点“数据”,选C列,重复项,删除重复项,如图:2.选当前选定区域,删除重复项,如图:3.直接选删除重复项,如图:4.结果如图:5.D1输入公式:=IF(C1="","","有 "&COUNTIF(A:A,C1)&" 轨")或 =IF(C1="","","有 "&LOOKUP(C1,A:A,B:B)&" 轨")然...

excel高分求助数据对比?
$A2:$E2,SMALL(IF(COUNTIF($A2:$E2,$A2:$E2)>=2,COLUMN($A$1:$E$1),256),COLUMN(A1)))同时按CTRL SHIFT 回车键,再右拉5列 F2=IF(OR(COUNTIF(A1:D1,H2:I2)=0,COUNTIF(A1:D1,H2:I2)>=2),"",COUNTIF(A1:D1,H2:I2))同时按CTRL SHIFT 回车键,再下拉 ...

高分(200)求助,EXCEL分类数据的问题
假设数据在A2:C100 在H2 输入 数组公式:=INDEX(A:A,MIN(IF(COUNTIF(H$1:H1,A2:A1000)=0,ROW(A2:A1000)))Ctrl + shift + Enter 三键输入 下拉 在 I2 输入 =INDEX(B:B,MATCH($H2,$A:$A,))右拖, 下拉 A列不排序, 或尚有 D,E,F,G...很多列, 都可以应付 ...

高分求助藏头诗,彩纳后再追加一百分。绝不食言。
忘却烦恼止心忧,忧心何解凭灵草,草灵非也无来由,由得知己一君子,子在江湖莫相忘。 藏头+回文。诗的意思就是:有种灵草能解忧,这种灵草并非无来由,灵草其实就是得遇知己一诉衷肠,因而解忧。最后勉励,互勿相忘。

高分(50分)求助如果在EXCEL F列单元格=1 在A列中查找相同列对应相同数据...
A列 B列 C列 D列 E列 F列 G列 A 1 A 1 B B C D 1 E 1 E 1 F 1 F 1 G 1 G 1 A

相似回答