Thanks. That works perfectly.
(ns test-csv
  (:gen-class)
  (:use clojure.contrib.command-line)
  (:use clojure-csv.core))

(defn x1
    [val1 val2]
    (println val1 val2))

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

(defn -main [& args]
  (with-command-line args
    "Get csv file name"
    [[file-name ".csv file name" "resultset.csv"]]
    [[file-name ".csv file name" 1]]
    (println "file-name:", file-name)
    (process-file file-name)))

On Jun 28, 9:01 am, Alex Robbins <alexander.j.robb...@gmail.com>
wrote:
> If you are trying to get the 6th row, you might use the "nth"
> function. It allows you to grab an element based on its index. That'd
> be better than tons of (next (next (next rows))) stuff.
>
> user=> (doc nth)
> -------------------------
> clojure.core/nth
> ([coll index] [coll index not-found])
>   Returns the value at the index. get returns nil if index out of
>   bounds, nth throws an exception unless not-found is supplied.  nth
>   also works for strings, Java arrays, regex Matchers and Lists, and,
>   in O(n) time, for sequences.
>
> Alex
>
> On Tue, Jun 28, 2011 at 7:42 AM, octopusgrabbus
>
>
>
>
>
>
>
> <octopusgrab...@gmail.com> wrote:
> > Given this test program:
>
> > (ns test-csv
> >  (:gen-class)
> >  (:use clojure.contrib.command-line)
> >  (:use clojure-csv.core))
>
> > (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))))
>
> > (defn -main [& args]
> >  (with-command-line args
> >    "Get csv file name"
> >    [[file-name ".csv file name" 1]]
> >    (println "file-name:", file-name)
> >    (if file-name
> >        (process-file "resultset.csv")
> >        (process-file file-name))))
>
> > is it reasonable to write a recursive function that takes the lazy
> > sequence -- rows -- (returned from clojure-csv) and column numbers and
> > recurses until the appropriate column number is reached, or is it
> > better to build up a long series of expressions that would pull the
> > columns out?
>
> > For example, I believe I can pull out the second column by specifying
> > (first (next rows)), but it would look pretty awful to create a long
> > enough expression to get the 6th column in.
>
> > --
> > 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

-- 
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