[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Reading tab-delimited ASCII files
From: |
kensmith |
Subject: |
Re: Reading tab-delimited ASCII files |
Date: |
Wed, 8 Aug 2007 08:04:36 -0700 |
User-agent: |
KMail/1.9.1 |
Perhaps you can use this:
octave:30> [V1,V2]=sscanf(" N/A "," %g ")
V1 = [](0x1)
V2 = 0
octave:31> [V1,V2]=sscanf(" 1.5 "," %g ")
V1 = 1.5000
V2 = 1
On Tuesday 07 August 2007 13:11, James Sherman Jr. wrote:
> Well, I can't attest to it being any faster, but something like
> [v1, v2, v3, v4] = fscanf(fid, "%s%s%s%s", 'Inf')
> Would give you an already parsed line with v1 being the first column
> in the line, and so on. v[1-4] are still strings though, so doing
> some simple strcmp calls to check if the string is a N/A or an
> actually number to sort out the rest.
>
> Hope this helps.
>
> James Sherman
>
> On 8/7/07, Matthias Brennwald <address@hidden> wrote:
> > Dear all
> >
> > I've got some ASCII file containing data which I'd like to read
> > into Octave. The ASCII files contain several lines and columns. The
> > columns are separated by tabs. The first column contains strings or
> > variable width (parameter names), the remaining columns contain
> > mostly numbers and some NaN values (e.g. 'N/A'). As an example, a
> > file might look like this:
> >
> > K_G 1E-2 N/A 0.1
> > KD_FIN 2 1.9 1.8
> > KD_COA 0.2 0.02 1.2E-2
> > T_LI 9.3244 8.233 N/A
> >
> > I tried using fscanf to read the data from the files, but I don't
> > understand how to use the template parameter to specify the data
> > format. I ended up reading line by line with fgetl and then
> > analyzing each line seperately. This works, but it's slow. I
> > believe that the fscanf function would be much faster. Can anyone
> > give me an example of how to efficiently read ASCII files, e.g. the
> > one above?
> >
> > Matthias
> > _______________________________________________
> > Help-octave mailing list
> > address@hidden
> > https://www.cae.wisc.edu/mailman/listinfo/help-octave
--
address@hidden