全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
3179 13
2010-12-01
悬赏 29 个论坛币 已解决
本人在用MATLAB处理数据时碰到这样一个问题:就是要用同一个程序(有两个程序块)来处理九千多个EXCEL表格的数据(每个表格一万多条记录),读取数据的程序如下:
global x tx T
tmpdata = xlsread('D:\MATLAB\work\1','Sheet1','g2:i16948');
x = tmpdata(:,1);
tx = tmpdata(:,2);
T = tmpdata(:,3);
clear tmpdata;
同时每处理完一个表格即将结果写入表格,程序如下:
xlswrite('1.xls',pactive,'Sheet1','J2');
这里就有个问题,要处理多个表格的数据并且写入结果,每个表格的数据区域又不太一样。如果每处理完一个表格的数据就得改一次程序的话工作量极大,而且极为浪费时间。故而请各位仁兄大姐给小弟指点一下,论坛币奉上,感激不尽!

最佳答案

zyner 查看完整内容

6# sosiumann 你如果文件名是1,2,3……10000这种的话,就搞一个循环,n从1到10000,然后把n转化为字符串,用函数num2str(n),在把你的文件目录的字符串path='D:\MATLAB\work\'和num2str(n)拼接起来,path2=strcat(path,num2str(n)),这就是你的每次的文件路径啦,然后再读取tmpdata = xlsread(path2,'Sheet1','g:i');
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-12-1 17:53:57
6# sosiumann
你如果文件名是1,2,3……10000这种的话,就搞一个循环,n从1到10000,然后把n转化为字符串,用函数num2str(n),在把你的文件目录的字符串path='D:\MATLAB\work\'和num2str(n)拼接起来,path2=strcat(path,num2str(n)),这就是你的每次的文件路径啦,然后再读取tmpdata = xlsread(path2,'Sheet1','g:i');
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-12-1 18:09:27
你每个区域不同的判断条件是什么,说清楚一点
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-12-1 18:51:44
2# zyner tmpdata = 就如xlsread('D:\MATLAB\work\1','Sheet1','g2:i16948');第一个表的数据区域是'g2:i16948',以后每个表数据区域的起始都是g2但是由于记录条数不一样,数据区域可能是'g2:i1500'或者'g2:i14400'等,没有规律。数据样本如下: 12.jpg
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-12-1 19:16:48
见回答》》》》》》》》
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-12-1 19:18:17
tmpdata = xlsread('D:\MATLAB\work\1','Sheet1','g2:i16948');
改为:
tmpdata = xlsread('D:\MATLAB\work\1','Sheet1','g:i');  %即把开始和结束的行号删去即可
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群