reading multiple excel files
이전 댓글 표시
HI
I have multiple excel files at different folders. Lets say 5 excel files at 5 different folders. D:\1\1.xlsx.... to D:\10\10.xlsx!
I want to read the column of each excel sheet and store it to five variables in matlab. I am trying this, but i cant say like this..['dataname' num2str(k)] any help?
range='E1:E2500';
for k=1:5
fname=['d:\1' '\ALL000' num2str(k) '\F000' num2str(k) 'CH3.CSV'];
sheet=['F000' num2str(k) 'CH3'];
['dataname' num2str(k)]=xlsread(fname,sheet,range);
end
Thanks
Matt
댓글 수: 5
dpb
2014년 7월 11일
Format code to be legible. If you can't read it clearly in preview window when asking, neither can we and the posting isn't yet ready for prime time.
Joseph Cheng
2014년 7월 11일
편집: Joseph Cheng
2014년 7월 11일
also why is dataname a string since that is not how the output works? why designate different variables why not a multi-column array or cell array? such that dataname(k) = {xlsread(fname......)}.
Matt
2014년 7월 11일
Joseph Cheng
2014년 7월 11일
so.... then just pull it out of the multi-column array after the for loop. or use eval() but that has its own issues of why you shouldn't do it. see dpb's FAQ about why this isn't doing anything for you.
...I want to save ...like dataname1, dataname2,dataname3...
AGAIN, do NOT do this!!! (This way "there be dragons")
Use a name structure array or just ordinary arrays and reference the various data with the column number instead of "poofing" variables into the workplace.
While it is possible, it just leads to a nightmare later on to do so. There are languages (like REXX) that make such name creation a feature of the language, but Matlab is not one of those.
답변 (2개)
dpb
2014년 7월 11일
D:\1\1.xlsx.... to D:\10\10.xlsx
...I want to read the column of each excel sheet and store it to five variables
Do NOT do this. See the FAQ for why not and the alternatives.
댓글 수: 1
Joseph Cheng
2014년 7월 11일
thanks dpb i keep losing this link for the questions that ask to create incremental named variables.
Image Analyst
2014년 7월 11일
0 개 추천
If you have more than one workbook, you should really use ActiveX programming rather than xlsread(). It will be a lot faster. See attached demo. Store each set of data you read in to a column of an array. Let me know if you can't figure out how to adapt the demo to do that.
카테고리
도움말 센터 및 File Exchange에서 Spreadsheets에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!