Memory issues in using xlsread and dataset('XLSFile'...)

1 回表示 (過去 30 日間)
Ms. Mat
Ms. Mat 2011 年 3 月 6 日
回答済み: Nick Haddad 2014 年 10 月 3 日
I have a huge file in XLSX format. While xlsread runs without memory issues, the command A = dataset(XLSFile, filename) throws the error "Error: Not enough storage is available to complete". Why would this happen ? Any broad guidelines to keep in mind while handling large data will be very helpful.
Thank You
  1 件のコメント
Peter Perkins
Peter Perkins 2011 年 3 月 8 日
Vandhana, it would help to know more specifically what your data are, and the error trace that gets spit out to the command window, if there is one.

サインインしてコメントする。

回答 (3 件)

Walter Roberson
Walter Roberson 2011 年 3 月 6 日
I speculate that dataset() reads the data and then converts it in to a different organization, requiring intermediate storage equivalent to the size of the data.
I do not know this to be true, as I do not have that toolbox, but from a code point of view it is more economical to only write the xlsx reading code once and convert the output, rather than writing code to read xlsx for every routine that is going to convert the data, just to prevent potential problems with intermediate storage being exceeded.

Matt Tearle
Matt Tearle 2011 年 3 月 7 日
Do you have a simple way to write the file out in a different format (eg text, such as CSV)? What are the columns of your file? (ie how many and what type)
If you can work with text, you might be able to batch process and/or use non-double types to reduce the memory requirements.

Nick Haddad
Nick Haddad 2014 年 10 月 3 日
This issue is a known bug in MATLAB and has been addressed in the following bug report:
The bug report has a workaround which you can install for MATLAB R2013a through R2014b.

カテゴリ

Help Center および File ExchangeSpreadsheets についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by