Extract ¨multiple .xls file from a folder?
조회 수: 1 (최근 30일)
이전 댓글 표시
Hello,
I am looking to extract 215 .xls files from a folder. I want to also extract specific columns from these files. The colums in all these files are same. I am using the follwing code to extract one file. Is there any way to extract all the files from this folder?
opts = detectImportOptions('1.xls', 'Sheet','cycle', 'Range', 'A1:C21', 'PreserveVariableNames', true);
opts.SelectedVariableNames = opts.SelectedVariableNames([1, 2, 3]);
Table_2 = readtable('1.xls', opts);
--
Thank you.
댓글 수: 1
Mathieu NOE
2021년 1월 12일
hello
simple suggestion below. of course you can use readtable instead of the (older) xlsread - but chek speed if it's important to you; xlsread still ok for simple tasks.
also check if files are sorted according to your wishes - you may have to sort them if you have file names ending like file_1, file_10 etc...
range = 'C2:D10'; % Read a specific range of data:
file_list = dir('*.xlsx'); % list all xlsx files in current directory
for i = 1:length(file_list)
filename = file_list(i).name;
data_in{i} = xlsread(filename,range); % stores the filename data in array of cells
% insert your code here
end
채택된 답변
Ive J
2021년 1월 12일
If you want to extract the content of all your .xls files within a certain directory at once, you can do it as:
% assuming you're already in the target directory
ds = spreadsheetDatastore(pwd, 'Sheets', 'cycle', 'Range', 'A1:C25', 'FileExtensions', '.xls', 'ReadVariableNames', true);
ds = readall(ds); % aggregates all contents as a single table
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Spreadsheets에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!