reading a text file
1 次查看(过去 30 天)
显示 更早的评论
I have a text file in the format as
65535 ,10,10000,31737,31223,32765,33280,32765,31480,31223,31223,31223,31223,31480, 65535 ,40,50000,31737,31223,32765,33280,32765,31480,31223,31223,31223,31223,31480........
It is delimited by 65535 , I want to separate these blocks of data , can u suggest me how to do that.
Regards
采纳的回答
Image Analyst
2014-8-18
This way is pretty easy to follow and understand:
% Get the string from reading the file.
% (Hard coded below for the demo.)
str = '65535 ,10,10000,31737,31223,32765,33280,32765,31480,31223,31223,31223,31223,31480, 65535 ,40,50000,31737,31223,32765,33280,32765,31480,31223,31223,31223,31223,31480'
% str(str == ' ') = [] % Remove spaces.
numbers = cell2mat(textscan(str, '%d,'))
% Split up into different blocks
delimiters = find(numbers == 65535)
for k = 1 : length(delimiters)
index1 = delimiters(k)+1;
if k == length(delimiters)
index2 = length(numbers);
else
index2 = delimiters(k+1) - 1;
end
% Assign this block to one cell of a cell array.
outputs{k} = numbers(index1:index2);
end
% Display in command window:
celldisp(outputs);
Though, if you want a cryptic one-liner, someone will give you one.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Import and Export 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!