Thanks for answering.

I want to create a map of this output:

PremiseID Reading
610160000 101100
610159000 411200
610158000 133100
610157000 239400
nil nil

produced by this function

(defn process-file
  "Process csv file and prints a column in every row"
  [file-name]
  (let [data (slurp file-name)
        rows (parse-csv data)]
        (doseq [this-row rows] (println (nth this-row 11 nil) (nth
this-row 1 nil)))))

from this data:

"MeterID","Reading","ReadingDateTime","Account","CustomerLN","CustomerFN","DeviceID","DeviceType","ChannelNumber","DecodeType","LoadDateLocal","PremiseID"
33891715,101100,"2011-06-05 23:00:00","610160000","SMITH","E & J",
80581200,43,0,75,"2011-06-06 06:00:01","610160000"
33891773,411200,"2011-06-05 23:00:00","610159000","COMMONER","A",
80598726,43,0,75,"2011-06-06 06:00:01","610159000"
33891887,133100,"2011-06-05 23:00:00","610158000","JONES","J & M",
80581189,43,0,75,"2011-06-06 06:00:01","610158000"
33891825,239400,"2011-06-05 23:00:00","610157000","SAWTOOTH","GEORGE
C",80598731,43,0,75,"2011-06-06 06:00:01","610157000"

tnx
cmn

On Jun 30, 4:24 pm, Ken Wesson <kwess...@gmail.com> wrote:
> On Thu, Jun 30, 2011 at 4:15 PM, octopusgrabbus
>
>
>
>
>
>
>
>
>
> <octopusgrab...@gmail.com> wrote:
> > The dorun in this function
>
> > (defn process-file
> >  "Process csv file and prints first item in every row"
> >  [file-name]
> >  (let [data (slurp file-name)
> >        rows (parse-csv data)]
> >    (dorun (map #(println (first %)) rows))))
>
> > causes each row of vectors in rows to be processed.
>
> > (doseq [a-row rows] (println a-row) )
>
> > would print each row in the data, which looks like this (the real
> > data, not the test data I've been using today.)
>
> > "MeterID","Reading","ReadingDateTime","Account","CustomerLN","CustomerFN","DeviceID","DeviceType","ChannelNumber","DecodeType","LoadDateLocal","PremiseID"
> > 33891715,101100,"2011-06-05 23:00:00","610160000","SMITH","E & J",
> > 80581200,43,0,75,"2011-06-06 06:00:01","610160000"
> > 33891773,411200,"2011-06-05 23:00:00","610159000","COMMONER","A",
> > 80598726,43,0,75,"2011-06-06 06:00:01","610159000"
> > 33891887,133100,"2011-06-05 23:00:00","610158000","JONES","J & M",
> > 80581189,43,0,75,"2011-06-06 06:00:01","610158000"
> > 33891825,239400,"2011-06-05 23:00:00","610157000","SAWTOOTH","GEORGE
> > C",80598731,43,0,75,"2011-06-06 06:00:01","610157000"
>
> > It would be nice if the let statement would allow populating a local
> > variable from iterating all the rows of vectors. I just can't figure
> > out how to do it.
>
> So you just want a variable bound to a flat list of the things in the
> vectors, or of the vectors themselves?
>
> (let [x seq-of-vectors])
>
> will accomplish the latter, and
>
> (let [x (apply concat seq-of-vectors)])
>
> the former.
>
> --
> Protege: What is this seething mass of parentheses?!
> Master: Your father's Lisp REPL. This is the language of a true
> hacker. Not as clumsy or random as C++; a language for a more
> civilized age.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to