clc clear all [data1,data3]=textread('E:\RSWeb\mahoyt數據集\movielens\u.user','%s%*d%s%*s%*s','delimiter', '|'); fuhao = cellstr(repmat(',',length(data1),1)); data = cellfun(@strcat, data1, fuhao, data3,'Unif', 0 ); % % save 'E:\RSWeb\mahoyt數據集\movielens\newuser.txt' data; % save 'E:\RSWeb\mahoyt數據集\movielens\newuser.txt' data1 ; % % dlmwrite('E:\RSWeb\mahoyt數據集\movielens\newuser.txt',cell2mat(data), ''); [nrows,ncols]= size(data); filename = 'E:\RSWeb\mahoyt數據集\movielens\newuser.txt'; fid = fopen(filename, 'w'); for row=1:nrows fprintf(fid, '%s\n', data{row,:}); end fclose(fid);
原始數據是1|23|M|writer|450045,表示用戶1,23歲,男,作家,郵編450045。
讀取的時候不能直接load或者importdata,由於特殊分隔符的存在,只能督導第一列,所以用textread。
憑借第一列和第三列編程一列cell,比如"1,M"。
關鍵是如何吧“1,M”存入txt。
各種方法都不行,直接操作文件。