tab delimited .txt file
209 views (last 30 days)
Show older comments
ricco
on 18 Nov 2011
Commented: Sang Min Kim
on 11 Nov 2024 at 19:18
In order to write a matrix as a tab delimited .txt file I can use the following command:
dlmwrite(Filename, Data, 'delimiter', '\t');
Say that the dimensions of 'Data' is [m n], how is it possible to include a non numeric vector (i.e. vector containing words) as m(1) in order to state what each colummn refers to in the .txt file?
thanks
0 Comments
Accepted Answer
Grzegorz Knor
on 18 Nov 2011
Suppose that your Data is:
Data = [1 2 3;4 5 6; 7 8 9];
Would you like to create such a file?
line1 1 2 3
line2 4 5 6
line3 7 8 9
If so, this is my suggestion:
Data = [1 2 3;4 5 6; 7 8 9];
names = {'line1','line2','line3'};
fid = fopen('test_file','w');
for k=1:3
fprintf(fid,'%s\t%.2f\t%.2f\t%.2f\n',names{k},Data(k,:));
end
fclose(fid);
4 Comments
Paul Safier
on 27 Mar 2019
What if the data matrix had more than a few columns, say thousands? Would you have to type a format (e.g. .2f\t%) for each column?
More Answers (2)
Adam Danz
on 17 Jun 2020
For more recent releases of Matlab (r2013b or later), use writetable() with the delimiter set to \t.
writetable(T,'tabledata2.txt','Delimiter','\t')
Walter Roberson
on 18 Nov 2011
dlmwrite() can only be used for numeric data or for pure character data (an ugly hack with little purpose). dlmwrite() cannot be used for mixing character data and numeric data.
Grzegorz's proposed code looks fine.
0 Comments
See Also
Categories
Find more on Standard File Formats in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!