removing duplicate data
显示 更早的评论
[EDIT: 20110513 00:34 CDT - reformat - WDR]
I have a text file containing some data and there are some duplicates
line1 : 123 456 789
line2 : 123 456 789
line3 : 234 567 890
line4 : 123 456 789
line5 : 456 789 012
how can I remove the repeated data and save back to my txt file?
回答(1 个)
Matt Fig
2011-3-25
0 个投票
Load the data, call the UNIQUE function with the rows option, then save the result.
9 个评论
Hoa
2011-3-25
Matt Fig
2011-3-25
Then you need to be more specific. Given the data:
123 456 789
123 456 789
234 567 890
123 456 789
456 789 012
What do you expect the output to be? Do you want the output to be:
123
456
789
234
567
890
012
or, did you want the output to be:
123 456 789
234 567 890
456 789 012
Hoa
2011-3-25
Jan
2011-3-25
Then UNIQUE(Data, 'rows') should work.
Matt Fig
2011-3-25
fid = fopen('mydata.txt','r');
T = textscan(fid,'%f%f%f','collectoutput',1);T = T{1};
U = unique(T);
fclose(fid);
fid = fopen('mydata.txt','w');
fprintf(fid,'%g\r',U.');
fclose(fid);
Hoa
2011-3-26
Walter Roberson
2011-3-26
Please show your current code.
Hoa
2011-3-27
Walter Roberson
2011-3-27
Change the line
fprintf(fid,'%g\r',U.');
to
fprintf(fid,'%g\n',U.');
类别
在 帮助中心 和 File Exchange 中查找有关 Get Started with MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!