Find specific vector in different text files
显示 更早的评论
Hello everybody!
I have several different text-files, which look very similar but have minor differences. I have created a dummy text file, to show you how my files look:

Note: Everything in this dummy is "fake".
Now I have a huge number of files like this. But the only thing I need is the distance vector which is named "Distance" in every file.
I tried this code, but it doesn't work so far:
[pathstr,filename{actualfilenumber},ext] = fileparts(files{actualfilenumber});
complete_file_name{actualfilenumber} = fullfile(Path,char([filename{actualfilenumber},ext]));
actualfile = textscan(complete_file_name{actualfilenumber},'%s');
Distance = double(actualfile(:,find(ismember('Distance',actualfile))));
Any suggestions?
Cheers Christian
采纳的回答
更多回答(1 个)
KSSV
2017-1-27
fid = fopen('your text file') ;
distance = textscan(fid,'%f','Headerlines',15,'delimiter','\n') ;
fclose(fid) ;
6 个评论
Christian
2017-1-27
Christian
2017-1-27
fid = fopen('Dummy_Text1.txt') ;
S = textscan(fid,'%s','delimiter','\n') ;
fclose(fid) ;
S = S{1} ;
% find position of distance
idx = strfind(S, 'Distance');
idx = find(not(cellfun('isempty', idx)));
% get distance array
distance = cell2mat(S(idx(1)+1:idx(2)-1)) ;
distance = str2num(distance) ;
Christian
2017-1-27
KSSV
2017-1-27
It did work for the dummy text files you have attached....
类别
在 帮助中心 和 File Exchange 中查找有关 Text Data Preparation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!