Finding important data in txt file

2 次查看(过去 30 天)
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.

采纳的回答

Are Mjaavatten
Are Mjaavatten 2018-2-27
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

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by