importdata vs xlsread to read an excel file

59 views (last 30 days)
If I am reading an excel file, what is better to use in terms of time, importdata or xlsread? Is there something that is faster than both of these options?
  1 Comment
dpb on 1 Aug 2013
A) Don't know; time it and see...I'd guess otomh xlsread may be a little better but that's purely a guess and probably makes a difference as to size and content as well...
B) Yeah, use something other than Excel as a data storage mechanism... :)

Sign in to comment.

Accepted Answer

Evan on 1 Aug 2013
Edited: Evan on 5 Aug 2013
If you want to find out, try timing the operation of each function:
tic; xlsread('my_file.xlsx'); toc
tic; importdata('my_file.xlsx'); toc
I found that xlsread read in an excel file of 168 rows by 38 columns in 0.687730 seconds, while importdata took 3.690959 seconds.
If you want to read in your data more quickly, you could use a different file format, such as a txt or csv file. I attempted to read in the same data both saved as .xlsx and .csv, and this was my time difference:
>> tic;csvread('pretoria_2-1.csv');toc
Elapsed time is 0.001967 seconds.
>> tic;xlsread('pretoria_2-1.xlsx');toc
Elapsed time is 0.630418 seconds.
So it looks like, for my purposes, csvread is the preferable option. But it all depends on the format in which your data already exists and the trouble you'd have to go to in order to convert it.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by