speed up xlsread
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have imported data from excel into matlab where I have several spreadsheets. I have used:
files = dir('*.xls');
%read data from excel into matlab
for i=1:length(files);
File_Name{i}=files(i,1).name;%Removes the file names from 'files'
[num{i},txt,raw] = xlsread(File_Name{i},'Ble min');
end
So, each cell refers to each spreadsheet. Is there a quicker way of doing this? I heard actxserver could be used, would this be the case for me here?
thanks
0 comentarios
Respuestas (2)
Karsten Reuß
el 5 de Dic. de 2017
Editada: Karsten Reuß
el 5 de Dic. de 2017
Small update on this one:
In versions of Matlab newer than 2013, readtable is much faster. I had some 300 files to import, xlsread took about 300 seconds, with actxserver about 100 seconds and with readtable 3 seconds.
You can then use table2cell, table2array, etc. to convert your data into cells and doubles.
1 comentario
farzad
el 23 de Mayo de 2020
>> tic;xls=xlsread(fname);toc;
Elapsed time is 2.230238 seconds.
>> tic;rdt= readtable(fname);toc;
Elapsed time is 2.156550 seconds.
>> tic;rdt= readmatrix(fname);toc;
Elapsed time is 2.511168 seconds.
It was a 14336 x 7 xlsx file. all numbers
Ver también
Categorías
Más información sobre Spreadsheets en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!