Now more or less correctly handles strings which start with a number.
This commit is contained in:
parent
837c43ac32
commit
a178270a75
16
README.md
16
README.md
|
@ -16,29 +16,29 @@ this file (which is manually maintained) is in error.
|
|||
|
||||
### Leiningen/Boot
|
||||
|
||||
[csv2edn "0.1.5"]
|
||||
[csv2edn "0.1.6"]
|
||||
|
||||
### Clojure CLI/deps.edn
|
||||
|
||||
csv2edn {:mvn/version "0.1.5"}
|
||||
csv2edn {:mvn/version "0.1.6"}
|
||||
|
||||
### Gradle
|
||||
|
||||
compile 'csv2edn:csv2edn:0.1.5'
|
||||
compile 'csv2edn:csv2edn:0.1.6'
|
||||
|
||||
### Maven
|
||||
|
||||
<dependency>
|
||||
<groupId>csv2edn</groupId>
|
||||
<artifactId>csv2edn</artifactId>
|
||||
<version>0.1.5</version>
|
||||
<version>0.1.6</version>
|
||||
</dependency>
|
||||
|
||||
## Usage: as a standalone commandline tool
|
||||
|
||||
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
|
||||
|
||||
|
@ -59,17 +59,17 @@ Where options are:
|
|||
The simplest possible use is to simply use this in a pipeline:
|
||||
|
||||
$ 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
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
## Usage: as a library
|
||||
|
|
|
@ -14,10 +14,16 @@
|
|||
(defn maybe-read
|
||||
"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."
|
||||
;; TODO: this is actually quite difficult and the current solution won't
|
||||
;; correctly handle numbers in scientific notation, ratios, or imaginary
|
||||
;; numbers.
|
||||
[^String s]
|
||||
(try
|
||||
(let [v (read-string s)]
|
||||
(if (number? v) v s))
|
||||
(if
|
||||
(re-matches #"^ *[+-]?[0-9]*\.?[0-9]*" s)
|
||||
(let [v (read-string s)]
|
||||
(if (number? v) v s))
|
||||
s)
|
||||
(catch Exception _ s)))
|
||||
|
||||
(defn csv->edn
|
||||
|
|
Loading…
Reference in a new issue