Change the first line to something like (def csv (parse-csv (slurp
"path/to/my/file.csv"))).

  -  David

On Thu, Jun 16, 2011 at 8:20 AM, octopusgrabbus
<octopusgrab...@gmail.com> wrote:
> I would like to modify the examples given
>
> user=> (def csv (parse-csv "1,2,3\n4,5,6\n7,8,9"))
> #'user/csv
> user=> (nth (nth csv 1) 2)  ;; Get 2nd row, last column.
> "6"
> user=> (-> csv (nth 1) (nth 2))  ;; Another way to do it.
> "6"
> user=> (defn get-column [parsed-csv col] (map #(nth % col)
> parsed-csv)) ;; Function to return a given column.
> #'user/get-column
> user=> (get-column csv 1) ;; Get second column as a sequence.
> ("2" "5" "8")
>
> to read in a .csv file, and then perform the functions on the parsed
> csv file, but I am getting clojure.lang.LazySeq cannot be cast to
> clojure.lang.IFn.
>
> How do I do this properly?
> Thanks.
>
> On Jun 16, 12:20 am, David Santiago <david.santi...@gmail.com> wrote:
>> Here's a repl session that will hopefully demonstrate how to do a few
>> things, including pull out an entire column. Just remember the library
>> turns CSVs into regular clojure data structures, so getting the data
>> you want out of the return value of the parse is just about indexing
>> into vectors.
>>
>> user=> (use 'clojure-csv.core)
>> nil
>> user=> (def csv (parse-csv "1,2,3\n4,5,6\n7,8,9"))
>> #'user/csv
>> user=> (nth (nth csv 1) 2)  ;; Get 2nd row, last column.
>> "6"
>> user=> (-> csv (nth 1) (nth 2))  ;; Another way to do it.
>> "6"
>> user=> (defn get-column [parsed-csv col] (map #(nth % col)
>> parsed-csv)) ;; Function to return a given column.
>> #'user/get-column
>> user=> (get-column csv 1) ;; Get second column as a sequence.
>> ("2" "5" "8")
>>
>>   - David
>>
>> On Wed, Jun 15, 2011 at 9:58 PM, octopusgrabbus
>>
>>
>>
>>
>>
>>
>>
>> <octopusgrab...@gmail.com> wrote:
>> > I've got to go back and look at your documentation. I'm not sure how
>> > to pull the columns out of each row.
>>
>> > On Jun 15, 5:04 pm, David Santiago <david.santi...@gmail.com> wrote:
>> >> I'm afraid I don't understand the question. What do you mean
>> >> "positionally?" When it parses the CSV file, it gives you back a
>> >> stream of rows, each row being a vector of the contents of each cell
>> >> of the CSV. If you are interested in cells at a given row/column, you
>> >> should be able to count into those vectors fairly naturally...
>>
>> >>    - David
>>
>> >> On Wed, Jun 15, 2011 at 2:08 PM, octopusgrabbus<octopusgrab...@gmail.com> 
>> >> wrote:
>> >> > Is it possible to use clojure-csv to extract data positionally in
>> >> > a .csv file, or should I use BufferedReader to read each line lazily
>> >> > and apply splitting the line up into fields by delimiter?
>>
>> >> > Thanks.
>> >> > cmn
>>
>> >> > --
>> >> > 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
>
> --
> 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