Do this, but in perl.
$ cat ~/fooble.clj (require '[clojure.data.json :as j]) (def data [{"balance" 10.12 "cname" "Smart Parking"} {"balance" 10.22 "cname" "Smart Parking"} {"balance" 10.32 "cname" "Smart Parking"} {"balance" 20.12 "cname" "Highview Parking"} {"balance" 20.22 "cname" "Highview Parking"} {"balance" 20.32 "cname" "Highview Parking"} {"balance" 20.42 "cname" "Highview Parking"} {"balance" 30.12 "cname" "ParkingEye"} {"balance" 30.22 "cname" "ParkingEye"}]) (println (j/write-str (map (fn [[k v]] (merge {:cname k} v)) (reduce (fn [acc {:strs [cname balance]}] (-> acc (assoc-in [cname :balance] (+ balance (get-in acc + [cname :balance] 0))) (assoc-in [cname :total] (inc (get-in acc [cname +:total] 0))))) {} data)))) $ lein run -m clojure.main ~/fooble.clj [{"cname":"Smart Parking","balance":30.66,"total":3},{"cname":"Highvie +w Parking","balance":81.08000000000001,"total":4},{"cname":"ParkingEy +e","balance":60.34,"total":2}]
The cake is a lie.
The cake is a lie.
The cake is a lie.
In reply to Re: How to combine the values from hash using 'cname', along with total and balance.
by Fletch
in thread How to combine the values from hash using 'cname', along with total and balance.
by Sami_R
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |