Merge tag 'csv2edn-0.1.6'

This commit is contained in:
Simon Brooke 2020-01-29 09:47:02 +00:00
commit 9d042154b0
3 changed files with 17 additions and 10 deletions

View file

@ -16,29 +16,29 @@ this file (which is manually maintained) is in error.
### Leiningen/Boot ### Leiningen/Boot
[csv2edn "0.1.5"] [csv2edn "0.1.6"]
### Clojure CLI/deps.edn ### Clojure CLI/deps.edn
csv2edn {:mvn/version "0.1.5"} csv2edn {:mvn/version "0.1.6"}
### Gradle ### Gradle
compile 'csv2edn:csv2edn:0.1.5' compile 'csv2edn:csv2edn:0.1.6'
### Maven ### Maven
<dependency> <dependency>
<groupId>csv2edn</groupId> <groupId>csv2edn</groupId>
<artifactId>csv2edn</artifactId> <artifactId>csv2edn</artifactId>
<version>0.1.5</version> <version>0.1.6</version>
</dependency> </dependency>
## Usage: as a standalone commandline tool ## Usage: as a standalone commandline tool
To run from the command line: To run from the command line:
$ java -jar csv2edn-0.1.5-standalone.jar [options] $ java -jar csv2edn-0.1.6-standalone.jar [options]
### Options ### Options
@ -59,17 +59,17 @@ Where options are:
The simplest possible use is to simply use this in a pipeline: The simplest possible use is to simply use this in a pipeline:
$ cat path/to/file.csv |\ $ cat path/to/file.csv |\
java -jar csv2edn-0.1.5-standalone.jar > path/to/file.edn java -jar csv2edn-0.1.6-standalone.jar > path/to/file.edn
Exactly the same behaviour can be achieved by specifying input and output Exactly the same behaviour can be achieved by specifying input and output
paths: paths:
$ java -jar csv2edn-0.1.5-standalone.jar \ $ java -jar csv2edn-0.1.6-standalone.jar \
-i path/to/file.csv -o path/to/file.edn -i path/to/file.csv -o path/to/file.edn
or or
$ java -jar csv2edn-0.1.5-standalone.jar \ $ java -jar csv2edn-0.1.6-standalone.jar \
--input path/to/file.csv --output path/to/file.edn --input path/to/file.csv --output path/to/file.edn
## Usage: as a library ## Usage: as a library

View file

@ -1,4 +1,4 @@
(defproject csv2edn "0.1.5" (defproject csv2edn "0.1.6"
:description "Simple command line utility to convert CSV files to EDN." :description "Simple command line utility to convert CSV files to EDN."
:url "https://github.com/simon-brooke/csv2edn" :url "https://github.com/simon-brooke/csv2edn"
:license {:name "GPL-2.0-or-later WITH Classpath-exception-2.0" :license {:name "GPL-2.0-or-later WITH Classpath-exception-2.0"

View file

@ -14,9 +14,16 @@
(defn maybe-read (defn maybe-read
"If a string represents an integer or real, we'd really like to have that "If a string represents an integer or real, we'd really like to have that
integer or real in our data rather than a string representation of it." integer or real in our data rather than a string representation of it."
;; TODO: this is actually quite difficult and the current solution won't
;; correctly handle numbers in scientific notation, ratios, or imaginary
;; numbers.
[^String s] [^String s]
(try (try
(read-string s) (if
(re-matches #"^ *[+-]?[0-9]*\.?[0-9]*" s)
(let [v (read-string s)]
(if (number? v) v s))
s)
(catch Exception _ s))) (catch Exception _ s)))
(defn csv->edn (defn csv->edn