Extract ¨multiple .xls file from a folder?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Prathamesh Halagi
il 12 Gen 2021
Modificato: Prathamesh Halagi
il 24 Gen 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 Commento
Mathieu NOE
il 12 Gen 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
Risposta accettata
Ive J
il 12 Gen 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 Commento
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Spreadsheets in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!