Filter löschen
Filter löschen

Alternative to writecell?

42 Ansichten (letzte 30 Tage)
L'O.G.
L'O.G. am 2 Apr. 2022
Kommentiert: Walter Roberson am 2 Apr. 2022
The function writecell was introduced in R2019a to write the contents of a cell array to a file. What would be the previous way to do the following?
writecell(C,'C_data.csv')
For me, each cell element has either a number or []. All of the entries in row 1 are numbers. In newer versions of MATLAB, writecell is really nice for this because I am able to generate the .csv file with just the numbers, even though each column is a different length. I would like to know another way to do this.
  1 Kommentar
Walter Roberson
Walter Roberson am 2 Apr. 2022
It is not obvious why you have editted your question twice but not responded to my answer?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 2 Apr. 2022
xlswrite() can write cell arrays in which each cell entry contains a single element; however "The xlswrite function does not support writing cell arrays that contain different data types when attempting to write CSV files."
I am not certain at the moment whether it would be able to support writing [] to csv .
If you need csv with emptyiness for [] (or for nan) then you might need to resort to using fopen() and writing the lines as text. For example,
fmt = [repmat('%g,', 1, 14), '%g\n'];
fid = fopen(TheFIlename, 'wt');
for K = 1 : size(TheCell, 1)
fprintf(fid, fmt, TheCell{K,:})
end
fclose(fid)
If entries in TheCell are [] then this would leave entries such as "3,,5' with nothing between the spaces.
If you wanted to trim away trailing empty cells then that would take more work but could be done.

Weitere Antworten (0)

Kategorien

Mehr zu Data Import and Export finden Sie in Help Center und File Exchange

Produkte


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by