Fabulous. I'm glad you'll find it useful :-) Chris
On Jan 27, 2015 6:11 AM, "Sébastien Orban" <arcanumx...@gmail.com> wrote: > Wow, nearly perfect timing for me - lot of csv to parse, and transform > into their final destination (mostly map with correctly asserted/cast value > - some with instaparse, joy of badly separated data). So, cast-with is very > appreciated ! > > Seem to cover everything - even lazy loading so... what's not to like ? > > On Tuesday, January 27, 2015 at 10:24:21 AM UTC+1, Christopher Small wrote: >> >> Hi everyone >> >> I’m pleased to announce the release of semantic-csv >> <https://github.com/metasoarous/semantic-csv>, a humble library for >> working with CSV data. >> >> Existing Clojure libraries for working with CSV data (clojure.data.csv >> <https://github.com/clojure/data.csv> and clojure-csv >> <https://github.com/davidsantiago/clojure-csv> being the most notable), >> only concern themselves with the *syntax* of CSV; They take CSV text, >> transform it into a collection of vectors of string values (or when >> writing, write from a sequence of string vectors), and that’s it. Semantic >> CSV takes the next step by giving you tools for addressing the >> *semantics* of your data, helping you put it into the form that better >> reflects what it means, and make it easier to work with. >> Features >> >> - Absorb header row as a vector of column names, and return remaining >> rows as maps of column-name -> row-val >> - Write from a collection of maps, given a header >> - Apply casting/formatting functions by column name, while reading or >> writing >> - Remove commented out lines (by default, those starting with #) >> - Compatible with any CSV parsing library returning/writing a >> sequence of row vectors >> - (SOON) A “sniffer” that reads in N lines, and uses them to guess >> column types >> >> Structure >> >> Semantic CSV is structured around a number of composable processing >> functions for transforming data as it comes out of or goes into a CSV file. >> This leaves room for you to use whatever parsing/formatting tools you like, >> reflecting a nice decoupling of grammar and semantics. However, a couple of >> convenience functions are also provided which wrap these individual steps >> in an opinionated but customizable manner, helping you move quickly while >> prototyping or working at the REPL. >> Where you come in >> >> Semantic CSV is still in alpha, but I’m excited to start getting people >> using it and providing feedback. I’m particularly interested at this phase >> in hearing what people think of the overall structure, what pain points >> come up, and what features would be nice. And bugs of course. Feel free to >> submit feedback via Github issues >> <https://github.com/metasoarous/semantic-csv/issues> or the project chat >> room <https://gitter.im/metasoarous/semantic-csv>. >> >> https://github.com/metasoarous/semantic-csv >> >> >> Thanks for your time; I hope you find this useful. >> >> Chris Small >> >> > -- > 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 a topic in the > Google Groups "Clojure" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/clojure/bmxEwImkfTQ/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- 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 unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.