如果我有一个维度矩阵[m n],我需要将矩阵导入制表符分隔的.txt文件,我会使用:
dlmwrite(文件名,数据,'分隔符','\ t');
但是,如果我需要.txt文件中每列上方的标题,我该怎么办?我需要定义每个单独的列,它们引用不同的数据集。
感谢
答案 0 :(得分:2)
Silvado有正确的想法。这是我不时使用的黑客攻击:
outfile = '/path/to/file/output.out';
data = magic(5);
header='feat1,feat2,feat3,feat4,feat5';
dlmwrite(outfile,header,'delimiter','');
dlmwrite(outfile,data,'delimiter',',','-append');
结果是一个csv文件,标题为第一行。请注意,hack是将''
的空分隔符与dlmwrite一起传递给预编译的头(您可以在循环中创建它以进行自动化)。如果性能是一个大问题,那么使用低级函数可能会更好。
答案 1 :(得分:1)
您可能需要先使用低级文件IO编写列标题,例如fprintf
。然后,您可以使用'-append'
dlmwrite
选项在同一个文件中编写矩阵。
答案 2 :(得分:1)
我更喜欢由save
生成的精心对齐的列,并使用dlmwrite
只是为了使标题正确。
outfile = '/path/to/file/output.out';
data = magic(5);
header='feat1 feat2 feat3 feat4 feat5';
dlmwrite(outfile, header, 'delimiter', '');
save(outfile, data, '-ascii', '-append');