To eliminate the lines begin with "%"
1 回表示 (過去 30 日間)
古いコメントを表示
I have a file (attached here) which I need to eliminate all the lines begin with "%" and remove the "commas" after the numbers. Then read the numbers and put in separate columns X, Y and Z. Can anyone help me to make the program?
2 件のコメント
採用された回答
Simon
2013 年 11 月 25 日
Hi!
Read in your file:
% read in a file
fid = fopen(FileName);
FC = textscan(fid, '%s', 'delimiter', '\n');
fclose(fid);
FC = FC{1};
You can get rid of all "%" lines if you compare the first char like:
FC = FC(~strncmp('%', FC, 1));
You can get rid of all ',' with a regex like:
FC = regexprep(FC, ',', '');
Afterwards you can parse your cell array FC line-by-line with sscanf to extract numbers.
3 件のコメント
Simon
2013 年 11 月 26 日
Hi!
It seems that sscanf fails for some reasons I don't know. But you can as well use
% use sscanf for each cell
A = cellfun(@(x) sscanf(x, '%f %f %f'), FC, 'UniformOutput', false);
% convert from cell array to numeric array
A = [A{:}].';
その他の回答 (1 件)
Image Analyst
2013 年 11 月 26 日
Why not just use importdata() where you can tell it to throw away some number of headerlines?
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Large Files and Big Data についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!