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!