I used the debug utilities described in the Primer to better understand cutl load 'debug' dbss 'cutl *:*' dbr 1 csvfile=: 1!:1<'test.csv'
csvfile a,tkr,dt,s,td,l,cd,qu,pr,val,cst,ty,lgl,sgl,iq,iu,ix,qc,qp,st,dte,cq,qv,cmt m,bac,2003/09/26,18,,b,v,,,240,,2003,,,240,,,,,,,33,300, m,bac,2004/04/01,21,,a,xr,444,,,-20184,,,,,,,,,,,42,,fbf m,bac,2004/04/21,22,,a,lu,,,19.49,,2004,19.49,,,,,,,,,42,, m,bac,2005/03/28,38,,a,v,,,39.6,,2005,,,39.6,,,,,,,51,88, m,bk,2003/03/20,42,,a,fr,2000,12.37,-24750,-24750,2004,,,,,,,,,,31,, m,bk,2003/03/20,43,,b,fr,6761,23.03,-155714.28,-155714.28,2003,,,,,,,,,,31,,acq 9/12/97 m,bk,2003/04/03,52,,f,s,-2600,20.65,53688.64,16900,2003,36788.64,,,,,,,,,32,, $csvfile 542 ',' &cutl;._2 csvfile I was amazed that cutl loops through csvfile one 'record' at a time, as none of the 9 control structure patterns listed in the Primer were evident. On Mon, Jan 2, 2012 at 12:44 PM, Joey K Tuttle <j...@qued.com> wrote: > I believe that there are a collection of csv related utilities in addons > ( require 'csv' will make those available to you). > > However, for years I have used a simplistic verb to bring .csv files > into a j session as a table of enclosed values - > > cutl =: 3 : 0 > : > y =. y,x > q =. y e.'"' > qs =. ~:/\q > }.^: ('"'&=@([:{.1:{.]))&.> (qs<y e.x) <;._2&((q<:qs)&#) y > ) > > tablecsv =: 3 : 0 > ',' tablecsv y NB. allows choosing an alternative delimiter > : > x &cutl;._2 y > ) > > > On 2012/01/02 09:22 , Tom Szczesny wrote: > > Some languages, like q, have a built-in command for reading, parsing, and > > loading data from csv files: > > t: ("SSDIDSSIFFFIS";enlist ",") 0: `:/home/tom/t.csv > > > > Other languages, like a+, do not, and the user needs to write a function > to > > read, parse and load data from csv files. > > > > > From a cursory review, it appears that j is in the a+ camp. > > Please confirm that such a facility does not exist in j, before I start > > writing my own. > > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm