On Dec 12, 11:20 am, Scott <[email protected]> wrote:
> Trying to learn clojure via some simple examples.
>
> I would like to use a simple glob expression to open a file using read-
> line
>
> How would I write the equivalent of:
>
> (for [line (read-lines "*.txt")]
> (print line))
>
> Where *.txt would match only the first file found in the present
> working directory
I haven't tried executing these, but maybe something like this:
(slurp (first (filter #(re-matches #".*\.txt" %) (.list (File.
"directory/path")))))
Or, more verbose but using Java's standard FilenameFilter
(slurp (first (.list (File. "directory/path")
(proxy [FilenameFilter] []
(accept [fil nam] (if (re-matches #".*\.txt" nam) true false))))))
> what I am actually trying to write is a program to read in a CSV,
> apply to a hash-map, and extract some simple data, so the above is
> intentional simplification
>
> very powerful language, thanks to all that have worked on this
I have a function for parsing CSVs that I put to work a lot at my last
job, using the Ostermiller utils. It works for very large CSVs and is
fairly thoroughly tried.
Send me an email directly if you're stuck on that.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en