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