importdata vs xlsread to read an excel file

14 次查看(过去 30 天)
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?
Thanks!
  1 个评论
dpb
dpb 2013-8-1
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... :)

请先登录,再进行评论。

采纳的回答

Evan
Evan 2013-8-1
编辑:Evan 2013-8-5
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.

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by