Thanks much.
Since I create the csv files, I was able to take some shortcuts:
1)  All   "   are spurious  (no commas in columns containing comments)
2)  -   only occurs in negative numbers
3)  /   only occus in dates   2004/12/15  (remove the  /  and don't need
getdate at all)

This definition is working fine:

tblcsv =: 4 : 0
 r=. y-.'"/'
 r=, '_' ((r='-')#i.$r) } r
 r=.([: < ;._1 ',',]) ;._2 r
 ttl=. {.r
 dat=. |:}.r
 for_i. (x e. 'dn')#i.$x do.
   dat=. (<"".>i{ dat) i} dat
 end.
 ttl,|:dat
)

For large files, the biggest time user might be the need to do transpose
twice.
tx=:'ssdndssnnnnnnnnnnnnndnns' tblcsv 1!:1 <'t.csv'

On Thu, Jan 12, 2012 at 6:16 AM, R.E. Boss <r.e.b...@planet.nl> wrote:

> If you have a lot of dates, say >100k, getdate will be rather slow.
> But since the nub of these dates probably will contain <10k dates, you can
> use nubindex http://www.jsoftware.com/help/dictionary/d221.htm
> For that the following adverb will do (tested long time ago)
>
>        nbind=:1 : '](i.!.0~ { u @:]) ~.'
>
>
> R.E. Boss
>
>
> > -----Oorspronkelijk bericht-----
> > Van: general-boun...@jsoftware.com [mailto:general-
> > boun...@jsoftware.com] Namens R.E. Boss
> > Verzonden: woensdag 11 januari 2012 21:48
> > Aan: 'General forum'
> > Onderwerp: Re: [Jgeneral] Data from csv files
> >
> > require 'dates'
> >
> >      100 #.  getdate'2012/01/12'
> > 20120112
> >
> > I would transpose (|:) the matrix and then work a row at a time,
> depending
> > on the control vector.
> > Recently I learned techniques to assign different verbs to different
> items.
> >
> >
> > R.E. Boss
> >
> >
> > > -----Oorspronkelijk bericht-----
> > > Van: general-boun...@jsoftware.com [mailto:general-
> > > boun...@jsoftware.com] Namens Tom Szczesny
> > > Verzonden: woensdag 11 januari 2012 21:13
> > > Aan: General forum
> > > Onderwerp: Re: [Jgeneral] Data from csv files
> > >
> > > Thanks, that is very nice to know, but ...
> > >
> > > Since the csv files I need were created by me, I also know that
> > > -  the only occurrences of   "   are spuriously added.
> > > -  the only occurrences of   -   are in the representation of negative
> > > numbers, so I can define
> > >
> > > tblcsv=: 3 : 0
> > >    r=: (-.y='"')#y
> > >    r=: '_' ((r='-')#i.$r) } r
> > >    ([: < ;._1 ',',]) ;._2 r
> > > )
> > >
> > > Next, I plan to figure out how to convert the columns with character
> > > strings representing numbers into actual numbers,
> > > and the columns with character strings representing dates ( 2012/01/12
> )
> > > into numbers representing dates ( 20120112 ),
> > > where tblcsv becomes dyadic with a control vector like 'SDSSNDNSNS' as
> > the
> > > left argument
> > > indicating which columns are strings, dates & numbers.
> > >
> > > On Wed, Jan 11, 2012 at 2:27 PM, Ric Sherlock <tikk...@gmail.com>
> wrote:
> > >
> > > > Note that you don't need to define tblcsv explicitly:
> > > >   tblcsv=: ([: <;._1 ','&,);._2
> > > > or
> > > >   tblcsv=: ([: <;._1 ',' , ]);._2
> > > >
> > > > On Thu, Jan 12, 2012 at 6:29 AM, Tom Szczesny <tav...@gmail.com>
> > > wrote:
> > > > > tested  ......  works . .....  thanks!
> > > > >
> > > > > On Wed, Jan 11, 2012 at 12:23 PM, R.E. Boss <r.e.b...@planet.nl>
> > wrote:
> > > > >
> > > > >> tblcsv =: 3 : 0
> > > > >>  ([: <;._1 ',',]) ;._2 y
> > > > >>  )
> > > > >> (untested)
> > > > >>
> > > > >> R.E. Boss
> > > > >>
> > > > >>
> > > > >> > -----Oorspronkelijk bericht-----
> > > > >> > Van: general-boun...@jsoftware.com [mailto:general-
> > > > >> > boun...@jsoftware.com] Namens Tom Szczesny
> > > > >> > Verzonden: woensdag 11 januari 2012 17:55
> > > > >> > Aan: General forum
> > > > >> > Onderwerp: Re: [Jgeneral] Data from csv files
> > > > >> >
> > > > >> > Given
> > > > >> >
> > > > >> > cutc =: 3 : 0
> > > > >> >   < ;._1 ',',y
> > > > >> > )
> > > > >> >
> > > > >> > tblcsv =: 3 : 0
> > > > >> >   cutc ;._2 y
> > > > >> > )
> > > > >> >
> > > > >> > tblcsv 1!:1 <'test.csv'
> > > > >> >
> > > > >> > I assumed that I would be able to represent this as a single
> > > > definition,
> > > > >> > such as
> > > > >> >
> > > > >> > tblcsv =: 3 : 0
> > > > >> >   ( <;._1 ',',) ;._2 y
> > > > >> > )
> > > > >> >
> > > > >> > or
> > > > >> >
> > > > >> > tblcsv =: 3 : 0
> > > > >> >   (( <;._1',',)&) ;._2 y
> > > > >> > )
> > > > >> >
> > > > >> > I've tried several other vaiations, and all result in 'syntax
> > error'.
> > > >  Am
> > > > >> I
> > > > >> > missing something, or does the verb applied to each 'cut'
> interval
> > > > need
> > > > >> to
> > > > >> > be defined separately?
> > > > >> >
> > > > >> > On Mon, Jan 9, 2012 at 5:00 PM, Arthur Anger <an...@mit.edu>
> > > wrote:
> > > > >> >
> > > > >> > > I often use Rank to select sub-arrays from an array:
> > > > >> > >  <"0 i. 7
> > > > >> > > --Art
> > > > >> > > ------------------
> > > > >> > > Quoting general-requ...@jsoftware.com:
> > > > >> > > . . .
> > > > >> > > > Message: 2
> > > > >> > > > Date: Mon, 9 Jan 2012 11:46:24 -0500
> > > > >> > > > From: Tom Szczesny <tav...@gmail.com>
> > > > >> > > > Subject: Re: [Jgeneral] Data from csv files
> > > > >> > > > To: General forum <general@jsoftware.com>
> > > > >> > > > Message-ID:
> > > > >> > > >       <CABn7SNYFw2gyAPKcjx1DMLEru97NMTst6zoGx=
> > > > >> > > 3olq1rko7...@mail.gmail.com>
> > > > >> > > > Content-Type: text/plain; charset=ISO-8859-1
> > > > >> > > >
> > > > >> > > > As mentioned in the dictionary entry for cut:
> > > > >> > > > the phrase   u;._2 y     applies the verb u to each interval
> > > > created
> > > > >> by
> > > > >> > > cut,
> > > > >> > > > where the fret is the last item, and marks the ends of the
> > > > intervals.
> > > > >> > > >
> > > > >> > > > What is the notation for applying the "each" concept to a
> verb
> > > > >> > > independent
> > > > >> > > > of   cut   ?
> > > > >> > > > For example,
> > > > >> > > >   <i.7
> > > > >> > > > +-------------+
> > > > >> > > > |0 1 2 3 4 5 6|
> > > > >> > > > +-------------+
> > > > >> > > >
> > > > >> > > > How do you express
> > > > >> > > >    <  each  i.7
> > > > >> > > > and get 7 individually boxed items?
> > > > >> > > > (I could not find an entry for "each" in the Index, nor in
> the
> > > > >> > > Vocabulary.)
> > > > >> > > . . .
> > > > >> > > > End of General Digest, Vol 76, Issue 8
> > > > >> > > > **************************************
> > > > >> > >
> > > > >> > >
> > > >
> ----------------------------------------------------------------------
> > > > >> > > For information about J forums see
> > > > >> > http://www.jsoftware.com/forums.htm
> > > > >> > >
> > > > >> >
> > ----------------------------------------------------------------------
> > > > >> > For information about J forums see
> > > > http://www.jsoftware.com/forums.htm
> > > > >>
> > > > >>
> > ----------------------------------------------------------------------
> > > > >> For information about J forums see
> > > http://www.jsoftware.com/forums.htm
> > > > >>
> > > > >
> ----------------------------------------------------------------------
> > > > > For information about J forums see
> > > http://www.jsoftware.com/forums.htm
> > > >
> ----------------------------------------------------------------------
> > > > For information about J forums see
> > > http://www.jsoftware.com/forums.htm
> > > >
> > > ----------------------------------------------------------------------
> > > For information about J forums see
> > http://www.jsoftware.com/forums.htm
> >
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to