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