<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>I find it safer to process the data without returning to a disk
      file. As mentioned I actually prefer to start with mgeti() and
      read the file as binary, as then all byte values are accepted.</p>
    <p>But anyway with the data separated in lines, it is relatively
      simple to split up with the wanted separators and decimal sign :</p>
    <pre style="font-family:Monospaced;font-style:normal;font-size:12.0;"><span style="color:rgb(50,185,185);">clear</span> <span style="color:rgb(188,143,143);">dataset</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">headerlines</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">3</span>:
<span style="color:rgb(0,0,0);">footerlines</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">2</span>:
<span style="color:rgb(160,32,240);">for</span> <span style="color:rgb(0,0,0);">k</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(50,185,185);">size</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">in_text</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span>
    <span style="color:rgb(160,32,240);">if</span> <span style="color:rgb(0,0,0);">k</span><span style="color:rgb(92,92,92);">></span><span style="color:rgb(0,0,0);">headerlines</span> <span style="color:rgb(92,92,92);">&</span><span style="color:rgb(92,92,92);">&</span> <span style="color:rgb(0,0,0);">k</span><span style="color:rgb(92,92,92);"><</span><span style="color:rgb(0,0,0);">n</span><span style="color:rgb(92,92,92);">-</span><span style="color:rgb(0,0,0);">footerlines</span> <span style="color:rgb(160,32,240);">then</span>
       <span style="color:rgb(0,0,0);">datatemp</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(50,185,185);">strtod</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(50,185,185);">strsplit</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">in_text</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(50,185,185);">ascii</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">9</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">;</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
       <span style="color:rgb(0,0,0);">dataset</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(92,92,92);">-</span><span style="color:rgb(0,0,0);">headerlines</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(50,185,185);">length</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">datatemp</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(0,0,0);">datatemp</span><span style="color:rgb(0,0,0);">;</span>
    <span style="color:rgb(160,32,240);">end</span>
<span style="color:rgb(160,32,240);">end</span>

<span style="color:rgb(50,185,185);">disp</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">in_text</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(0,0,0);">headerlines</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span>;
<span style="color:rgb(50,185,185);">disp</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">dataset</span><span style="color:rgb(74,85,219);">)</span>;
<span style="color:rgb(50,185,185);">disp</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">in_text</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(255,170,0);">$</span><span style="color:rgb(92,92,92);">-</span><span style="color:rgb(0,0,0);">footerlines</span><span style="color:rgb(92,92,92);">+</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(255,170,0);">$</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">);</span>
<span style="color:rgb(160,32,240);"></span><span style="color:rgb(160,32,240);"></span></pre>
    <p>JÅ<br>
    </p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 2020-04-28 10:14 AM, Rafael Guerra
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:VI1PR0802MB2624E79097C3785533DC89A0CCAC0@VI1PR0802MB2624.eurprd08.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Calibri Light";
        panose-1:2 15 3 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:Monospaced;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
h2
        {mso-style-priority:9;
        mso-style-link:"Heading 2 Char";
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:18.0pt;
        font-family:"Calibri",sans-serif;
        font-weight:bold;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.Heading2Char
        {mso-style-name:"Heading 2 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 2";
        font-family:"Calibri Light",sans-serif;
        color:#2F5496;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.EmailStyle22
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1834947257;
        mso-list-type:hybrid;
        mso-list-template-ids:1825707904 -1052064264 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Calibri",sans-serif;
        mso-fareast-font-family:Calibri;
        color:windowtext;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal">Antoine,<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">One workflow that works fast for me, for
          large data files, is to load first the whole file with mgetl,
          then remove all empty lines using isempty in a loop (as shown
          below), process the header block, isolate the data block and
          save it to a temporary backup file to disk using mputl, then
          load very efficiently from disk that backup file using
          fscanfMat.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Monospaced",serif;color:black">tlines</span><span
style="font-size:9.0pt;font-family:"Monospaced",serif;color:#5C5C5C">=</span><span
style="font-size:9.0pt;font-family:"Monospaced",serif">
            <span style="color:#32B9B9">mgetl</span><span
              style="color:#4A55DB">(</span><span style="color:black">fid,</span><span
              style="color:#5C5C5C">-</span><span
              style="color:rosybrown">1</span><span
              style="color:#4A55DB">)</span><span style="color:black">;</span> 
            <i><span style="color:#64AE64">// reads lines until end of
                file into 1 column text vector</span></i><o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Monospaced",serif;color:black">bool</span><span
style="font-size:9.0pt;font-family:"Monospaced",serif;color:#5C5C5C">=</span><span
style="font-size:9.0pt;font-family:"Monospaced",serif">
            <span style="color:#5C5C5C">~</span><span
              style="color:black">cellfun</span><span
              style="color:#4A55DB">(</span><span style="color:black">isempty,tlines</span><span
              style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Monospaced",serif;color:black">tlines</span><span
style="font-size:9.0pt;font-family:"Monospaced",serif;color:#5C5C5C">=</span><span
style="font-size:9.0pt;font-family:"Monospaced",serif">
            <span style="color:black">tlines</span><span
              style="color:#4A55DB">(</span><span style="color:black">bool</span><span
              style="color:#4A55DB">)</span><span style="color:black">;</span>   
            <i><span style="color:#64AE64">// removes empty lines</span></i><o:p></o:p></span></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Monospaced",serif;color:#B01813">function</span><span
style="font-size:9.0pt;font-family:"Monospaced",serif">
            <b><span style="color:#834310">out_text</span></b><span
              style="color:#5C5C5C">=</span><u><span style="color:black">cellfun</span></u><span
              style="color:#4A55DB">(</span><b><span
                style="color:#834310">fun</span></b><span
              style="color:black">,
            </span><b><span style="color:#834310">in_text</span></b><span
              style="color:#4A55DB">)</span><o:p></o:p></span></p>
        <p class="MsoNormal"><i><span
style="font-size:9.0pt;font-family:"Monospaced",serif;color:#64AE64">//
              Applies function to input text (column strings vector),
              line by line</span></i><span
            style="font-size:9.0pt;font-family:"Monospaced",serif"><o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:9.0pt;font-family:"Monospaced",serif"> 
            <span style="color:black">n</span><span
              style="color:#5C5C5C">=</span><span style="color:#32B9B9">size</span><span
              style="color:#4A55DB">(</span><b><span
                style="color:#834310">in_text</span></b><span
              style="color:black">,</span><span style="color:rosybrown">1</span><span
              style="color:#4A55DB">)</span><span style="color:black">;</span><o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:9.0pt;font-family:"Monospaced",serif"> 
            <span style="color:#A020F0">for</span> <span
              style="color:black">i</span><span style="color:#5C5C5C">=</span><span
              style="color:rosybrown">1</span><span
              style="color:#FFAA00">:</span><span style="color:black">n;</span><o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:9.0pt;font-family:"Monospaced",serif">    
            <b><span style="color:#834310">out_text</span></b><span
              style="color:#4A55DB">(</span><span style="color:black">i</span><span
              style="color:#4A55DB">)</span><span style="color:#5C5C5C">=</span><b><span
                style="color:#834310">fun</span></b><span
              style="color:#4A55DB">(</span><b><span
                style="color:#834310">in_text</span></b><span
              style="color:#4A55DB">(</span><span style="color:black">i</span><span
              style="color:#4A55DB">))</span><span style="color:black">;</span><o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:9.0pt;font-family:"Monospaced",serif"> 
            <span style="color:#A020F0">end</span><o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Monospaced",serif;color:#B01813">endfunction</span><span
style="font-size:9.0pt;font-family:"Monospaced",serif"><o:p></o:p></span></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span lang="PT">Regards,<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="PT">Rafael<o:p></o:p></span></p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a>
<a class="moz-txt-link-freetext" href="http://lists.scilab.org/mailman/listinfo/users">http://lists.scilab.org/mailman/listinfo/users</a>
</pre>
    </blockquote>
  </body>
</html>