Write different sized cell arrays of strings to one excel sheet
조회 수: 4 (최근 30일)
이전 댓글 표시
I would like to list the string values contained in cell arrays of different sizes in their own column in excel. Here's my example and goal:
c1={'The' 'quick' 'brown'} %this should be the first column in excel
c2={'fox' 'jumps'} %this should be the second column in excel
Goal (these are rows and columns in excel):
The fox
quick jumps
brown
My idea was to run a big loop and write each cell array as a column piecemeal using the range option in xlswrite, but was hoping there was a faster way to make one large padded array in MATLAB or something first, as I have a lot of data to write.
댓글 수: 0
채택된 답변
Ameer Hamza
2020년 9월 11일
Try this
c{1} = {'The' 'quick' 'brown'}; %this should be the first column in excel
c{2} = {'fox' 'jumps'}; %this should be the second column in excel
c{3} = {'over' 'the', 'lazy'};
c{4} = {'dog'};
max_size = max(cellfun(@numel, c));
c_padded = cellfun(@(x) [x.'; cell(max_size-numel(x), 1)], c, 'uni', 0);
c_padded = [c_padded{:}];
writecell(c_padded, 'filename.xlsx')
댓글 수: 2
Ameer Hamza
2020년 9월 11일
I am glad to be of help!!
If by "years" you mean 1.5 years ;) because writecell was recently added to MATLAB in R2019a.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Spreadsheets에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!