Out of interest does the following give you the same result?
  load 'tables/csv'
  makenumcol fixcsv csvdata -.'"/'

Where csvdata is the string you are feeding to tblcsv.

On Fri, Jan 13, 2012 at 9:09 AM, Tom Szczesny <tav...@gmail.com> wrote:
> wow
>
> On Thu, Jan 12, 2012 at 2:38 PM, Ric Sherlock <tikk...@gmail.com> wrote:
>
>> ( (x e. 'dn')#i.$x )  <-->  ( I. x e. 'dn' )
>>
>> You can lose the for loop and the two transposes by amending all the
>> columns at once.
>>
>> It is better/safer to use dyadic ". for converting literals to numbers.
>>
>> So this should work (untested):
>>
>> tblcsv =: 4 : 0
>>  t=.([: < ;._1 ',',]) ;._2 y-.'"/'
>>  data=. }.t
>>   idx=. I. x e. 'dn'
>>  data=. (_99&". &.> idx{"1 data) (<a:;idx)} data
>>  ({.t),data
>> )
>>
>> Because in-place amendment is not supported for the boxed datatype,
>> you shouldn't lose anything by dropping the ( data=. aa i}data ) so
>> you could just do:
>>
>> tblcsv =: 4 : 0
>>  t=.([: < ;._1 ',',]) ;._2 y-.'"/'
>>   idx=. I. x e. 'dn'
>>  ({.t), (_99&". &.> idx{"1 }.t) (<a:;idx)} }.t
>> )
>>
>>
>> On Fri, Jan 13, 2012 at 6:25 AM, Tom Szczesny <tav...@gmail.com> wrote:
>> > Sorry for all the "chatter".   I think I'm done now...
>> > Version #4:
>> >
>> > tblcsv =: 4 : 0
>> >  t=.([: < ;._1 ',',]) ;._2 y-.'"/'
>> >  data=. |:}.t
>> >  for_k. (x e. 'dn')#i.$x do.
>> >   data=. (><&.>".'0',"1>k{data) k}data
>> >  end.
>> >  ({.t),|:data
>> > )
>> >
>> >
>> > On Thu, Jan 12, 2012 at 12:05 PM, Tom Szczesny <tav...@gmail.com> wrote:
>> >
>> >> Replacing the   -   with  _   is not necessary.
>> >> Version #2 only works because of a typo in the 3rd line      =,
>> instead
>> >> of  =.
>> >> Version #3:
>> >>
>> >> tblcsv =: 4 : 0
>> >>  r=. y-.'"/'
>> >>  r=.([: < ;._1 ',',]) ;._2 r
>> >>  ttl=. {.r
>> >>  dat=. |:}.r
>> >>  for_j. (x e. 'dn')#i.$x do.
>> >>    dat=. (><&.>".'0',"1>j{dat) j}dat
>> >>  end.
>> >>  ttl,|:dat
>> >> )
>> >>
>> >>
>> >> On Thu, Jan 12, 2012 at 11:41 AM, Tom Szczesny <tav...@gmail.com>
>> wrote:
>> >>
>> >>> The version I sent earlier appeared to work, but actually does not.
>>  This
>> >>> version does:
>> >>>
>> >>> tblcsv =: 4 : 0
>> >>>  r=. y-.'"/'
>> >>>  r=, '_' ((r='-')#i.$r) } r
>> >>>  r=.([: < ;._1 ',',]) ;._2 r
>> >>>  ttl=. {.r
>> >>>  dat=. |:}.r
>> >>>  for_k. (x e. 'dn')#i.$x do.
>> >>>    dat=. (><&.>".'0',"1>k{dat) k}dat
>> >>>  end.
>> >>>  ttl,|:dat
>> >>> )
>> >>>
>> >>> Thanks again to everyone for all the help.
>> >>>
>> >>> On Thu, Jan 12, 2012 at 8:59 AM, Tom Szczesny <tav...@gmail.com>
>> wrote:
>> >>>
>> >>>> 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
>> ----------------------------------------------------------------------
>> 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