No.  They are not the same.  For a very small sample file the results are:

   a=: makenumcol fixcsv (1!:1<'sm.csv') -.'"/'
   b=:'ssdndssnnnnnnnnnnnnndnns' tblcsv 1!:1 <'sm.csv'
   a-:b
0
   (<a:;7){a
+--++---+++----+----+----+
|qu||444|||2000|6761|-100|
+--++---+++----+----+----+
   (<a:;7){b
+--++---+++----+----+----+
|qu||444|||2000|6761|_100|
+--++---+++----+----+----+

The minus sign did not get converted properly in the  table/csv  case.


On Thu, Jan 12, 2012 at 3:46 PM, Ric Sherlock <tikk...@gmail.com> wrote:

> 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
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to