load function: how do you to skip lines in ASCII File that generate errors?

10 vues (au cours des 30 derniers jours)
Peter
Peter le 24 Sep 2022
I am using the load function to load data from an ASCII file filled with numeric data.
when running the load function, as in:
loaded_data=load(strcat(pat,'/',filename),' ');
If there is a line that has non-numeric values in it, the load function will not load the file.
for example, I will get an error like:
Unknown text on line number 468 of ASCII file /path/to/file/data_2022_09_18.dat
"********************".
where the string of *'s is in line 468 and creating the error.
Is there a way that I can load the file, and skip over lines which generate this error?
  1 commentaire
Stephen23
Stephen23 le 24 Sep 2022
Modifié(e) : Stephen23 le 24 Sep 2022
Use READMATRIX and the options TreatAsMissing, TrimNonNumeric, etc. to ignore those characters.
Use READTABLE and the options TreatAsMissing, MissingRule, etc. to ignore those rows.

Connectez-vous pour commenter.

Réponses (1)

Walter Roberson
Walter Roberson le 24 Sep 2022
No. load() of a text file is documented as only being guaranteed to work for files saved with save -ascii
In practice load() of a text file will ignore lines whose first character is % but it is not able to ignore other forms of comments. You will need to switch to using a different way of loading text.
You might consider textscan with a 'CommentStyle' option.

Produits


Version

R2014a

Community Treasure Hunt

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

Start Hunting!

Translated by