Read only numerical lines from mixed text file

Hello,
I have a text file with xyz-coordinates that looks like this:
Now, I only want to import the numerical lines into a matrix with 3 columns, or import everything and select the numbers later. I tried several combinations of importdata, load, textscan, headerlines, format definitions... but it never fully works: a large portion of the data is missing, the format is not right, there's no data loaded at all... I found solutions for text files that have only text in the beginning of the file or have a fixed string at the beginning of each line, but I don't manage to convert them to a code that is suitable for my problem.
Can anyone help me?

1 件のコメント

KSSV
KSSV 2016 年 11 月 15 日
Attach that data as a text file or copy it here....instead of a image.

サインインしてコメントする。

 採用された回答

Walter Roberson
Walter Roberson 2016 年 11 月 15 日

1 投票

You can use textscan() with format '%f%f%f' and 'CommentStyle', '#'

4 件のコメント

Tina
Tina 2016 年 11 月 15 日
This works perfectly.
data = textscan(fid,'%f%f%f','CommentStyle', '#');
Thanks!
Jackson Barlow
Jackson Barlow 2018 年 12 月 4 日
Is this a strenuous process for my computer in I have far more data than the aforementioned? I am simply wondering how long it would take.
Walter Roberson
Walter Roberson 2018 年 12 月 5 日
It can add up on large enough files. textscan() is one of the more efficient reading routines. You might be able to do marginally better with fscanf() if the format is very regular, but you would have to handle the various # lines yourself.
Walter Roberson
Walter Roberson 2018 年 12 月 5 日
Sometimes it can be worthwhile to invoke perl() to reformat input into something that MATLAB can handle easily. For example, for the file posted in the Question above, if the leading # are replaced with leading % then the result is something that MATLAB can load() as text.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeText Data Preparation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by