Extract ¨multiple .xls file from a folder?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Prathamesh Halagi
am 12 Jan. 2021
Bearbeitet: Prathamesh Halagi
am 24 Jan. 2021
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 Kommentar
Mathieu NOE
am 12 Jan. 2021
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
Akzeptierte Antwort
Ive J
am 12 Jan. 2021
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
1 Kommentar
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Environment and Settings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!