我們知道,一般的文件讀寫函數是不接受直接將cell內容(非數值)直接寫入文件的,
例如:dlmwrite('o.txt', C, 'delimiter', '\t');%C 為cell類型數據,會報錯
C=:
'tim' 'space' 'ss'
'ddsa' 'sd' 'as'
'as' 'w' 'r'
那么假如我們只想寫入C的第一列和第二列的數據到文件中,怎么辦?
下面用比較原始(ben)的方法來實現:
clc clear all %這里換成源文件路徑 fname = 'E:\r.xls'; [x_c y_c] = xlsread(fname); %這里換成輸出文件路徑 fid = fopen('E:\o.txt','wt'); for i = 1:size(y_c,1) fprintf(fid,'%s\t%s\n',y_c{i,1},y_c{i,2}); end fclose(fid);
值得注意的是,如果fopen打開格式是‘w'類型,那么'\n',在記事本中打開不顯示換行,原因是matlab默認打開格式是以二進制的方式打開的,而記事本是以Unicode的方式打開,故,如果要顯示,選擇fopen的打開方式為’wt'類型。