私の質問は、.csvファイルが十分に大きい場合、map / zipmapステップ(下記)はメモリを消費しすぎるリスクを冒しますか?
clojure-csvからシーケンスのシーケンスが返されました。以下の手順は、わかりやすくするために意図的に分けられています。言い換えれば、私はこれらのいくつかを本番コードで組み合わせることになります。
; Process the .csv file
(defn fetch-csv-data
"This function accepts a csv file name, and returns parsed csv data,
or returns nil if file is not present."
[csv-file]
(let [csv-data (ret-csv-data csv-file)]
csv-data))
(def bene-csv-inp (fetch-csv-data "benetrak_roster.csv"))
; Pull out the columns/keys, and
(def bene-csv-cols (map #(cstr/trim %1) (first bene-csv-inp)))
; create the keys.
(def bene-csv-keys (map #(keyword %1) bene-csv-cols))
; Make a sequence of just one of the keys:
(def test-ssns2 (map (fn [x] (:GIC-ID x))
(map #(zipmap gic-csv-keys %1) gic-csv-data)))
ありがとう。