Ik probeerde de cell array C vervolgens te saven als csv file, csvwrite heeft hier geen zin in. Echter er is een functie cell2csv (beschikbaar in de matlab fileexchange)
die de cell array C direct saved als csv file waarbij je zelf aan kan geven wat er als seperator gebruikt moet worden.
Nu zit ik nog met een vergelijkbare structuur die in plaats van een %f %s %s %d structuur een %f %s %s %d %d %d structuur heeft. Ik ga even met je code stoeien en eens kijken wat ik er van kan maken.
dat is me nu gelukt. Echter wanneer ik een file met de structuur %f %f %f %s %s %s %d %d %d probeer te verwerken dan krijg ik een error bij het verwerken van kolom 2
Code: Selecteer alles
B=A;
for epr=1:size(B,4)
for eps=2:size(B,1)
B{1,epr} = vertcat(B{1,epr}, B{eps,epr});
end
end
% Column 4, 5 and 6 are now done, but column 1, 2, 3 and 7, 8, 9 need a bit more unnesting.
C(:,4)=B{1,4};
C(:,5)=B{1,5};
C(:,6)=B{1,6};
for eps=5:size(B{1,1},1)
B{1,1}{4,1} = vertcat(B{1,1}{4,1}, B{1,1}{eps,1});
end
C(1:3,1)=B{1,1}(1:3,1);
for eps=1:size(B{1,1}{4,1},1)
C{3+eps,1}=num2str(B{1,1}{4,1}(eps,1));
end
for eps=5:size(B{1,2},1)
B{1,2}{4,1} = vertcat(B{1,2}{4,1}, B{1,2}{eps,1});
end
C(1:3,2)=B{1,2}(1:3,1);
for eps=1:size(B{1,2}{4,1},1)
C{3+eps,2}=num2str(B{1,2}{4,1}(eps,1));
end
for eps=5:size(B{1,3},1)
B{1,3}{4,1} = vertcat(B{1,3}{4,1}, B{1,3}{eps,1});
end
C(1:3,3)=B{1,3}(1:3,1);
for eps=1:size(B{1,3}{4,1},1)
C{3+eps,3}=num2str(B{1,3}{4,1}(eps,1));
end
for eps=5:size(B{1,7},1)
B{1,7}{4,1} = vertcat(B{1,7}{4,1}, B{1,7}{eps,1});
end
C(1:3,7)=B{1,7}(1:3,1);
for eps=1:size(B{1,7}{4,1},1)
C{3+eps,7}=num2str(B{1,7}{4,1}(eps,1));
end
for eps=5:size(B{1,8},1)
B{1,8}{4,1} = vertcat(B{1,8}{4,1}, B{1,8}{eps,1});
end
C(1:3,8)=B{1,8}(1:3,1);
for eps=1:size(B{1,8}{4,1},1)
C{3+eps,8}=num2str(B{1,8}{4,1}(eps,1));
end
for eps=5:size(B{1,9},1)
B{1,9}{4,1} = vertcat(B{1,9}{4,1}, B{1,9}{eps,1});
end
C(1:3,9)=B{1,9}(1:3,1);
for eps=1:size(B{1,9}{4,1},1)
C{3+eps,9}=num2str(B{1,9}{4,1}(eps,1));
end
cell2csv('concatenateXYZ.csv',C,',')
dit heb ik ook op weten te lossen. Er was een foutje in het eerste stuk code geslopen.