Converts text file to CSV file.
Arc:
(prn "CSV maker")
(pr "File name (.txt): ")
(= in-file-name (readline))
(= out-file-name (string in-file-name ".csv"))
(= in-file (infile in-file-name))
(= out-file (outfile out-file-name))
(= separate-after '(3 5)) ; edit this line
(while (= s (readline in-file))
(= l (len s))
(disp "\"" out-file)
(for i 0 (- l 1)
(writeb (int (s i)) out-file)
(if (find i separate-after) (disp "\",\"" out-file)))
(disp "\"\n" out-file))
(close out-file)
(close in-file)
(prn "Wrote " out-file-name)
newLISP:
(println "CSV maker")
(print "File name (.txt): ")
(define in-file-name (trim (read-line) "\"" "\""))
(define out-file-name (string in-file-name ".csv"))
(define in-file (open in-file-name "r"))
(define out-file (open out-file-name "w"))
(define separate-after '(3 5)) ; edit this line
(while (read-line in-file)
(define s (current-line))
(define len (length s))
(write out-file "\"")
(for (i 0 (- len 1))
(write out-file (s i))
(if (member i separate-after) (write out-file "\",\"")))
(write-line out-file "\""))
(close out-file)
(close in-file)
(println "Wrote " out-file-name)
(exit)
Clojure:
(ns csv-maker.core (:gen-class))
(use '(clojure.java io))
(defn -main [& args]
(println "CSV maker")
(print "File name (.txt): ")
(flush)
(def in-file-name (read-line))
(def out-file-name (str in-file-name ".csv"))
(def separate-after #{3 5}) ; edit this line
(with-open [in-file (reader in-file-name)
out-file (writer out-file-name)]
(binding [*in* in-file
*out* out-file]
(doseq [s (line-seq in-file)]
(def l (count s))
(print "\"")
(dotimes [i l]
(print (.charAt s i))
(if (separate-after i) (print "\",\"")))
(println "\""))))
(println "Wrote" out-file-name))
'My Computer Programs' 카테고리의 다른 글
(C#) JoinLine (0) | 2015.02.10 |
---|---|
(Windows, C#) SecondClock (0) | 2015.01.30 |
법인등록번호 검증기 (0) | 2014.10.29 |
Arcadia: An implementation of the Arc programming language (0) | 2014.10.26 |
Arcadia에서 string에 대해서 GC (0) | 2014.10.26 |