Created
January 28, 2013 22:36
-
-
Save brabadu/4659955 to your computer and use it in GitHub Desktop.
Trying clojure for doing small things.
Generate CSV-file from bunch of lines.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Company 123 | |
Sales One | |
Account Two | |
------- | |
Company 456 | |
Sales Er | |
Account zxcv | |
------- | |
Company 33 | |
Sales CVC | |
Account ADfasdf | |
------- | |
Company 654 | |
Sales DSfadfas | |
Account Vljflsd | |
------- | |
Company 999 | |
Sales 1 | |
Account 2 | |
------- | |
Company 543 | |
Sales lkjads | |
Account zxcv | |
------- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Company 123 | Sales One | Account Two | |
---|---|---|---|
Company 456 | Sales Er | Account zxcv | |
Company 33 | Sales CVC | Account ADfasdf | |
Company 654 | Sales DSfadfas | Account Vljflsd | |
Company 999 | Sales 1 | Account 2 | |
Company 543 | Sales lkjads | Account zxcv |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
user=> (ns namespace (:use clojure-csv.core)) | |
nil | |
namespace=> (def text (slurp "/Users/brabadu/projects/clojure-csv-write/companies.txt")) | |
#'namespace/text | |
namespace=> text | |
"Company 123\nSales One\nAccount Two\n-------\nCompany 456\nSales Er\nAccount zxcv\n-------\nCompany 33\nSales CVC\nAccount ADfasdf\n-------\nCompany 654\nSales DSfadfas\nAccount Vljflsd\n-------\nCompany 999\nSales 1\nAccount 2\n-------\nCompany 543\nSales lkjads\nAccount zxcv\n-------" | |
namespace=> (clojure.string/split text #"\n") | |
["Company 123" "Sales One" "Account Two" "-------" "Company 456" "Sales Er" "Account zxcv" "-------" "Company 33" "Sales CVC" "Account ADfasdf" "-------" "Company 654" "Sales DSfadfas" "Account Vljflsd" "-------" "Company 999" "Sales 1" "Account 2" "-------" "Company 543" "Sales lkjads" "Account zxcv" "-------"] | |
namespace=> (partition 4 (clojure.string/split text #"\n")) | |
(("Company 123" "Sales One" "Account Two" "-------") ("Company 456" "Sales Er" "Account zxcv" "-------") ("Company 33" "Sales CVC" "Account ADfasdf" "-------") ("Company 654" "Sales DSfadfas" "Account Vljflsd" "-------") ("Company 999" "Sales 1" "Account 2" "-------") ("Company 543" "Sales lkjads" "Account zxcv" "-------")) | |
namespace=> (map (partial take 3) (partition 4 (clojure.string/split text #"\n"))) | |
(("Company 123" "Sales One" "Account Two") ("Company 456" "Sales Er" "Account zxcv") ("Company 33" "Sales CVC" "Account ADfasdf") ("Company 654" "Sales DSfadfas" "Account Vljflsd") ("Company 999" "Sales 1" "Account 2") ("Company 543" "Sales lkjads" "Account zxcv")) | |
namespace=> (write-csv (map (partial take 3) (partition 4 (clojure.string/split text #"\n")))) | |
"Company 123,Sales One,Account Two\nCompany 456,Sales Er,Account zxcv\nCompany 33,Sales CVC,Account ADfasdf\nCompany 654,Sales DSfadfas,Account Vljflsd\nCompany 999,Sales 1,Account 2\nCompany 543,Sales lkjads,Account zxcv\n" | |
namespace=> (def csv (write-csv (map (partial take 3) (partition 4 (clojure.string/split text #"\n"))))) | |
#'namespace/csv | |
namespace=> (spit "result.csv" csv) | |
nil |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment