How can i assign certain length for each column of exported text file?
조회 수: 3 (최근 30일)
이전 댓글 표시
Hi,
I am trying to write a 8680*18 cell array in to a text file. But i need to assign certain defferent lenght for elements in each column (i.e. all elements in first have 3 characters and all elements in the second column have 12 characters, etc). can anyone help?
Thank you
댓글 수: 0
채택된 답변
Walter Roberson
2019년 7월 19일
None of the Mathworks supplied tools for writing out matrices support that, so you will need to construct it yourself.
col_widths = [3 12 etc];
fmt_cell = [sprintfc('%%%ds', col_widths), '\n'];
fmt = [fmt_cell{:}];
your_cell_transpose = your_cell.';
fid = fopen('YourFile.txt', 'wt');
fprintf(fid, fmt, your_cell_transpose{:});
fclose(fid);
댓글 수: 3
Walter Roberson
2019년 7월 19일
Ah, that is for mixed datatype; your question sort of implied everything was char.
Your format would have to be touched up for fixed width, such as
formatSpec = '%3s %12d %2.1f %s\n';
Note this is for right-justified in field; if you want left-justified, use a negative width, such as %-3s
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!