From 1c28b834a3ad57725f79479e4b8c0bd019af3d95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20L=C3=B6tzsch?= Date: Thu, 10 Mar 2022 23:17:49 +0100 Subject: [PATCH] csv2edn --- import/api/wpforms-crawler/csv2edn/.gitignore | 14 ++++++++++++++ import/api/wpforms-crawler/csv2edn/README.md | 3 +++ import/api/wpforms-crawler/csv2edn/project.clj | 11 +++++++++++ .../csv2edn/src/csv2edn/core.clj | 17 +++++++++++++++++ 4 files changed, 45 insertions(+) create mode 100644 import/api/wpforms-crawler/csv2edn/.gitignore create mode 100644 import/api/wpforms-crawler/csv2edn/README.md create mode 100644 import/api/wpforms-crawler/csv2edn/project.clj create mode 100644 import/api/wpforms-crawler/csv2edn/src/csv2edn/core.clj diff --git a/import/api/wpforms-crawler/csv2edn/.gitignore b/import/api/wpforms-crawler/csv2edn/.gitignore new file mode 100644 index 0000000..fab6468 --- /dev/null +++ b/import/api/wpforms-crawler/csv2edn/.gitignore @@ -0,0 +1,14 @@ +/target +/classes +/checkouts +profiles.clj +pom.xml +pom.xml.asc +*.jar +*.class +/.lein-* +/.nrepl-port +/.prepl-port +.clj-kondo/ +.lsp/ + diff --git a/import/api/wpforms-crawler/csv2edn/README.md b/import/api/wpforms-crawler/csv2edn/README.md new file mode 100644 index 0000000..104fd9c --- /dev/null +++ b/import/api/wpforms-crawler/csv2edn/README.md @@ -0,0 +1,3 @@ +```sh +cat *.csv | lein run +``` diff --git a/import/api/wpforms-crawler/csv2edn/project.clj b/import/api/wpforms-crawler/csv2edn/project.clj new file mode 100644 index 0000000..35681b7 --- /dev/null +++ b/import/api/wpforms-crawler/csv2edn/project.clj @@ -0,0 +1,11 @@ +(defproject csv2edn "0.1.0-SNAPSHOT" + :description "FIXME: write description" + :url "http://example.com/FIXME" + :license {:name "EPL-2.0 OR GPL-2.0-or-later WITH Classpath-exception-2.0" + :url "https://www.eclipse.org/legal/epl-2.0/"} + :dependencies [[org.clojure/clojure "1.10.3"] + [semantic-csv "0.2.1-alpha1"]] + :main ^:skip-aot csv2edn.core + :target-path "target/%s" + :profiles {:uberjar {:aot :all + :jvm-opts ["-Dclojure.compiler.direct-linking=true"]}}) diff --git a/import/api/wpforms-crawler/csv2edn/src/csv2edn/core.clj b/import/api/wpforms-crawler/csv2edn/src/csv2edn/core.clj new file mode 100644 index 0000000..283cd9a --- /dev/null +++ b/import/api/wpforms-crawler/csv2edn/src/csv2edn/core.clj @@ -0,0 +1,17 @@ +(ns csv2edn.core + (:require [clojure.java.io :as io] + [clojure-csv.core :as csv] + [semantic-csv.core :as sc] + [clojure.pprint :refer [pprint]]) + (:gen-class)) + +(defn -main + ([] + (-main "/dev/stdin")) + ([csv-file & args] + (->> (io/reader csv-file) + (csv/parse-csv) + (sc/mappify {:keyify false}) + (into []) + (pprint)))) +