Please... I want to import several excel files at once. used for_fuction
1 次查看(过去 30 天)
显示 更早的评论
I want to import several excel files at once. used for_fuction
I used this code.
--------------------------------------------------------------
source_dir = 'C:/Users/Cju/Documents/MATLAB/a/' ;
dest_dir = '/C:/Users/Cju/Documents/MATLAB/a' ;
source_files = dir(fullfile(source_dir, '*.xlsx'));
for i = 1:length(source_files)
data = xlsread(fullfile(source_dir, source_files(i).name));
end
--------------------------------------------------------------
In 'a'folder, there are 5 excel files.
But, Imported just first file.
Is there '*.xlsx' problem?
What is wrong?
This problem is very important for me.
Please.. Answer
0 个评论
回答(2 个)
CS Researcher
2016-5-2
编辑:CS Researcher
2016-5-2
You can try this:
oldfolder = cd(source_dir);
xlfiles = dir('*.xlsx');
nfiles = length(xlfiles);
for i = 1:nfiles
% Access files by xlfiles(i).name (No need to use fullfile here)
end
cd(oldfolder);
3 个评论
Image Analyst
2016-5-2
You will need to use fullfile() if the files are not in the current folder.
Don't use cd. See the FAQ: http://matlab.wikia.com/wiki/FAQ#Where_did_my_file_go.3F_The_risks_of_using_the_cd_function.
Image Analyst
2016-5-2
See the FAQ: http://matlab.wikia.com/wiki/FAQ#How_can_I_process_a_sequence_of_files.3F for reading in a sequence of xlsx files.
If you want to save all the arrays, then you will have to index data and make it a cell array (in case all workbooks don't have the same size matrices in them), so in your loop:
fullFileName = fullfile(source_dir, source_files(i).name);
data{i} = xlsread(fullFileName); % Save in one cell of a cell array.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Import from MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!