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。

  各种方法都不行,直接操作文件。

05-04 12:15