Is it possible to write a large table into a binary file? How?

8 views (last 30 days)
I have a large table. If I write it into a text file, it is huge. Is it possible to write a large table into a binary file? If yes, how?
I googled this subjest, but all the links only refer to non-table type. For table, writetable function does not mention binary file.
Thanks.
Jennifer
  2 Comments
Sean de Wolski
Sean de Wolski on 31 Aug 2015
Do you need to open it outside of MATLAB? If not, just use save and save it using -v7.3 which will compress it.
JFz
JFz on 31 Aug 2015
Thanks. I do need to open it with Excel VBA code.
I tried save and I can save it ito a .mat file. And the size is shrinked to 1/10 of the text file size, which is really what I wanted. But how to open it with VBA is a question.

Sign in to comment.

Answers (2)

Walter Roberson
Walter Roberson on 31 Aug 2015
How about if you write it to a .xls file? You could specify 'FileType', 'spreadsheet' but it should assume that for .xls file extensions.
  2 Comments
JFz
JFz on 31 Aug 2015
Write to .xls file? With just writetable(T, 'T.xls')? Let me try. Thanks.
JFz
JFz on 31 Aug 2015
Just tried. The file size is even bigger than text file. I want to reduce the text file size.

Sign in to comment.


Image Analyst
Image Analyst on 31 Aug 2015
Exactly how big is "huge" to you?
You can use writetable() to write a binary file. For example an .xlsx file is binary. Or you could use a .mat file by calling save(). Or you could just do it real low level by calling fwrite() yourself.
  5 Comments
JFz
JFz on 31 Aug 2015
I looked at save() but I didn't see anywhre about binary. Did I miss anything there?
Image Analyst
Image Analyst on 31 Aug 2015
It's a proprietary format. Ultimately, everything in digital computers is binary. I suggest you just don't care about that and only worry about what the final size is, if that matters to you. But 40 MB is somewhat large, but I wouldn't call it huge. I regularly work with images a hundred times that size.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!