Error When Using Writetable Function
17 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Jonathan Pinko
am 22 Jun. 2020
Kommentiert: Tommy
am 23 Jun. 2020
Hi All,
I have the following code:
f={tSampleName cMeasuredFo cMeasuredD56Fe cMeasuredD26Mg cFeUncertainty cMgUncertainty cFeInterp cMgInterp cMagmaMgNum cOlivineFo cTemperature cDtrsquared cDiffusionCoef cyears1mm cyears2mm cyears3mm cyears4mm cyears5mm};
ResultsTable=cell2table(f);
writetable(ResultsTable,'CodeResults.xlsx');
In which all the inputs to f are 9x1 cells. When I try and run this code, I receive the following error message:
Error using writetable
Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is 1-by-9.
Could someone please tell me what I'm doing wrong here? I would like to create a table in excel that shows all of my information stored in ResultsTable.
Thanks,
Jonathan
1 Kommentar
Tommy
am 22 Jun. 2020
Bearbeitet: Tommy
am 23 Jun. 2020
For reference, here's what getReport() returns for the error you got, assuming I did get the same the error:
Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is 1-by-9.
Error in tabular/writeXLSFile (line 132)
newVarj(:,cnt+(1:num)) = newVarjj;
Error in table/write (line 211)
writeXLSFile(t,fname,ext(2:end),otherArgs);
Error in writetable (line 155)
write(a,filename,varargin{:})
Error in [my file] (line 9)
writetable(ResultsTable,'CodeResults.xlsx');
Akzeptierte Antwort
Tommy
am 23 Jun. 2020
Bearbeitet: Tommy
am 23 Jun. 2020
It seems like writetable() has trouble handling the case where a variable in your table contains a cell which itself contains an Nx1 cell array. Does it work if you concatenate your original cell arrays using square brackets?
f=[tSampleName cMeasuredFo cMeasuredD56Fe cMeasuredD26Mg cFeUncertainty cMgUncertainty cFeInterp cMgInterp cMagmaMgNum cOlivineFo cTemperature cDtrsquared cDiffusionCoef cyears1mm cyears2mm cyears3mm cyears4mm cyears5mm];
ResultsTable=cell2table(f);
writetable(ResultsTable,'CodeResults.xlsx');
(edit)
This results in the error:
T = table({num2cell(1:9)'});
writetable(T,'CodeResults.xlsx');
This doesn't:
T = table({num2cell(1:9)});
writetable(T,'CodeResults.xlsx');
4 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Cell Arrays finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!