tab delimited .txt file
143 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Grzegorz Knor
2011 年 11 月 18 日
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 件のコメント
Paul Safier
2019 年 3 月 27 日
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?
その他の回答 (2 件)
Walter Roberson
2011 年 11 月 18 日
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 件のコメント
Adam Danz
2020 年 6 月 17 日
For more recent releases of Matlab (r2013b or later), use writetable() with the delimiter set to \t.
writetable(T,'tabledata2.txt','Delimiter','\t')
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Low-Level File I/O についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!