Finding important data in txt file

1 Ansicht (letzte 30 Tage)
Carolyn
Carolyn am 26 Feb. 2018
Beantwortet: Are Mjaavatten am 27 Feb. 2018
I have a text file that looks like this. I only need the data under the Px, Py, Pz,... etc header lines. Each set of data is a different number of columns but the same number of rows. How can I filter the text file to only show an array of this data without all the 'Point' information in between and without repeats of the header information? I really don't even need it to display a header since the headers will be the same for every dataset.

Akzeptierte Antwort

Are Mjaavatten
Are Mjaavatten am 27 Feb. 2018
In your case you want to parse all lines containing just numbers into an array (which you may later want to split by e.g.: Px = data(:,1) etc.). Providing all data lines hold the same number of entries, this should do the trick:
fid = fopen('Carolyn.txt');
c = textscan(fid,'%s','delimiter','\n');
fclose(fid);
lines = c{1};
data = [];
for i = 1:length(lines)
if ~isempty(lines{i})
parsenumbers = textscan(lines{i},'%f');
numbers = parsenumbers{1};
if ~isempty(numbers) % Line consists of numbers
data = [data;numbers'];
end
end
end

Weitere Antworten (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by