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

3 Ansichten (letzte 30 Tage)
JFz
JFz am 31 Aug. 2015
Kommentiert: Image Analyst am 31 Aug. 2015
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 Kommentare
Sean de Wolski
Sean de Wolski am 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 am 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.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Walter Roberson
Walter Roberson am 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 Kommentare
JFz
JFz am 31 Aug. 2015
Write to .xls file? With just writetable(T, 'T.xls')? Let me try. Thanks.
JFz
JFz am 31 Aug. 2015
Just tried. The file size is even bigger than text file. I want to reduce the text file size.

Melden Sie sich an, um zu kommentieren.


Image Analyst
Image Analyst am 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 Kommentare
JFz
JFz am 31 Aug. 2015
I looked at save() but I didn't see anywhre about binary. Did I miss anything there?
Image Analyst
Image Analyst am 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.

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by