Creating a text file to specific format
1 次查看(过去 30 天)
显示 更早的评论
Hi,
I have a matrix called data (3652500 x 3). But data matrix dont have the header (i.e. names).
I want to insert column headers as shown below and write the output to a text file inserting 4th column from another matrix called output (3652500 x 1). I need to insert the output matrix in the 4th column of data matrix with 3 spaces between 3rd columns and 4th column. (See the header and sample rows below)
DATE TMAX TMIN RAIN
3000001 -99.9 -99.9 0.6
3000002 -99.9 -99.9 0.5
How can I do it MATLAB.
Any help is appreciated.
Thanks.
0 个评论
采纳的回答
Image Analyst
2014-5-23
编辑:Image Analyst
2014-5-24
With fprintf() you can make it look anyway you want. Have you tried that function?
output = 99*rand(10,4);
output(:,1) = round(output(:,1))
filename = 'deleteme.txt';
fid = fopen(filename, 'wt');
if fid ~= -1
fprintf(fid, 'DATE TMAX TMIN RAIN\n');
for row = 1 : size(output, 1)
fprintf(fid, '%d %.1f %.1f %.1f\n', output(row, :));
end
fclose(fid);
end
5 个评论
Image Analyst
2014-5-25
It's just like any format string that you're used to in most any other language that you've ever used. If you use %.1f, the field width varies according to the size of the number. If you put %6.1f, it will pad out to make it a fixed field width of 6 characters.
更多回答(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!