Advertisement
Guest User

TSV reader

a guest
Nov 23rd, 2011
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (ns net.myexperiments.TSVReader
  2.   (:require [clojure.string :as st])
  3.   (:import (java.util.regex Pattern) (java.io File)))
  4. (def tbl (slurp (File. "C:\\Users\\notostraca\\Documents\\Code\\Rebel Saga\\RebelSagaClasses.txt")))
  5. (def tbl-rows (st/split-lines tbl))
  6. (def pat-t (. Pattern compile "\t"))
  7. (def header (st/split (first tbl-rows) pat-t))
  8. (defrecord Row (vec header))
  9. (println (apply ->Row "a"))
  10. (defn make-data [row] (zipmap header (st/split row pat-t)))
  11. (defn make-data2 [row] (st/split row pat-t))
  12. (def all-rows (apply sorted-map (interleave
  13.                                    (map (fn [rw] (first (st/split rw pat-t))) (rest tbl-rows))
  14.                                    (map (fn [a] (apply ->Row (vec (st/split a pat-t)))) (rest tbl-rows)))))
  15. (def data-rows (apply sorted-map (interleave
  16.                                    (map (fn [rw] (first (st/split rw pat-t))) (rest tbl-rows))
  17.                                    (map make-data (rest tbl-rows)))))
  18. (println data-rows)
  19.  
  20. (println (data-rows "Vanguard"))
  21.  
  22. (println ((data-rows "Vanguard") "Intellect"))
  23.  
  24. (println (keys data-rows))
  25.  
  26.  
  27.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement