Most Efficient Spreadsheet File
古いコメントを表示
Hello,
I am going to write a Matlab script that will pull data from multiple Excel files. I imagine this script will take a long time to run. I was wondering if I could save my Excel files as a different file type to make the script work more efficiently. I will only be using one spreadsheet from each excel file and I am only going to be reading text from the Excel files.
Thanks.
3 件のコメント
Guillaume
2014 年 11 月 19 日
Considering it's pretty simple to write your script using xlsread:
- write the code as simply as possible not worrying about optimisation
- if code is too slow, run the profiler
- only then, if the profiler indicates that xlswrite is a bottleneck, replace it with something else.
There's little point in complicating the code if it brings little benefit (premature optimisation).
Image Analyst
2014 年 11 月 19 日
Tell us how many files you will read. Is it more than about 5 or 10 or so?
Daniel
2014 年 11 月 20 日
回答 (2 件)
Image Analyst
2014 年 11 月 19 日
1 投票
It will take a long time, unless you use ActiveX. See my attached ActiveX demo. With ActiveX it only opens and shutdowns Excel once instead of every single time you call xlsread().
3 件のコメント
Image Analyst
2014 年 11 月 19 日
dlmread(), readtable(), and importdata() are also possible options if your data is formatted properly.
Image Analyst
2014 年 11 月 20 日
For that amount of data, you certainly don't want to use xlsread(). You could use ActiveX, but if you can, I think the fastest way would be to convert the data to text (like a csv file) and use csvread(), dlmread(), or importdata(). ActiveX would be more complicated and probably not faster than these text-reading functions since ActiveX still has to launch Excel.
Daniel
2014 年 11 月 20 日
Evan
2014 年 11 月 19 日
0 投票
If Image Analyst's solution doesn't work for you, you might try csvread. Assuming you're able to save your data in .csv format, I've found that csvread is a couple orders of magnitude faster than xlsread.
カテゴリ
ヘルプ センター および File Exchange で Spreadsheets についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!