Skip to content

Instantly share code, notes, and snippets.

@oluies
Forked from bfritz/after.csv
Created August 8, 2017 12:34
Show Gist options
  • Save oluies/07c73e98fda698e87fe91efd0b7a94b4 to your computer and use it in GitHub Desktop.
Save oluies/07c73e98fda698e87fe91efd0b7a94b4 to your computer and use it in GitHub Desktop.
rapture-csv in Ammonite REPL
territory_id first_name last_name email employee_id
XMOWSM54 Peter Alexander palexander0@unesco.org E00QTOF
XMRNBM47 Samuel Lopez slopez1@163.com E00UBFA
XMOWMF87 Elizabeth Stone estone2@usatoday.com E00WDYK
XMZWPW22 William Carroll wcarroll3@odnoklassniki.ru E00VDYQ
XMOWRW46 Carolyn Little clittle4@ox.ac.uk E00HUPR
XMZNDX26 Marilyn Robinson mrobinson5@wired.com E00ZJGS
XMZNAI68 Christopher Rogers crogers6@posterous.com E00DCHF
XMONCD74 Anthony Allen aallen7@flickr.com E00ACEQ
XMRNMD81 Martin Baker mbaker8@hatena.ne.jp E00DKRZ
XMZWEP67 Kenneth Black kblack9@macromedia.com E00WPRM
XMONMU36 Ernest Harper eharpera@boston.com E00QEMW
XMOWYQ05 Kathryn Morris kmorrisb@cbslocal.com E00GNRI
XMONGU42 Sarah Garza sgarzac@huffingtonpost.com E00LVWB
XMZNZL99 Arthur Young ayoungd@nydailynews.com E00HAQN
XMZNSB40 Harry Butler hbutlere@google.nl E00ETYF
XMONIR25 Janet Knight jknightf@comcast.net E00PGJO
XMOWQS30 Kelly Hernandez khernandezg@surveymonkey.com E00VWFM
XMRNVO18 Tammy Banks tbanksh@huffingtonpost.com E00VBPJ
XMZWGN33 Deborah Cole dcolei@imgur.com E00LSNA
XMZWIZ28 Frances Holmes fholmesj@huffingtonpost.com E00APTS
XMONGA47 Christina Burns cburnsk@tinyurl.com E00DGIB
XMRNKF51 Jason Mills jmillsl@boston.com E00EZNU
XMZNDT10 Ernest Day edaym@xinhuanet.com E00UMVH
XMOWGY81 Joan Rivera jriveran@blinklist.com E00PCLK
XMZWHG83 Nancy Hudson nhudsono@mapy.cz E00CITD
XMRNIH32 Kimberly Thomas kthomasp@netvibes.com E00VIUQ
XMZNZH01 Catherine Fowler cfowlerq@cornell.edu E00DCZJ
XMZNNC54 Laura Hernandez lhernandezr@homestead.com E00CNUG
XMRWQC06 Theresa Burke tburkes@booking.com E00UNHR
XMONDL08 Tina Warren twarrent@example.com E00SQVC
XMOWEK42 Thomas Lynch tlynchu@noaa.gov E00FBYQ
XMZWSR67 Juan Allen jallenv@npr.org E00UWNR
XMOWOD21 Jane Mendoza jmendozaw@google.it E00CSRE
XMZWFQ07 Russell Andrews randrewsx@nbcnews.com E00LRGI
XMONQE94 Kathy White kwhitey@newyorker.com E00VKGN
XMRWRU95 Judith Snyder jsnyderz@unc.edu E00QTIU
XMONNW27 Carl Nichols cnichols10@tamu.edu E00EGOX
XMZWDV58 Karen Elliott kelliott11@clickbank.net E00JBLR
XMZNBK56 Thomas Grant tgrant12@wordpress.com E00TRBD
XMONQF71 James Coleman jcoleman13@webnode.com E00PFGR
XMZNGQ51 Brenda Bennett bbennett14@freewebs.com E00JKWR
XMZNPH94 Victor Hart vhart15@tiny.cc E00PMLO
XMZWCL63 Joseph Richards jrichards16@icq.com E00VQOE
XMZNTH41 Justin Stanley jstanley17@cornell.edu E00PQCL
XMZNBB01 Carlos Smith csmith18@blogtalkradio.com E00FCJD
XMOWDI95 Stephanie Martinez smartinez19@diigo.com E00BPYS
XMZNJQ72 Keith Franklin kfranklin1a@dmoz.org E00CIHT
XMONKA16 Bruce Andrews bandrews1b@foxnews.com E00BYCI
XMONKX98 Antonio Rose arose1c@mit.edu E00CETA
XMZNBM97 Chris Boyd cboyd1d@de.vu E00XAPQ
XMZNWO30 Stephanie Dunn sdunn1e@sakura.ne.jp E00GOKP
XMOWXQ66 Phillip Perez pperez1f@feedburner.com E00GXEZ
XMZWLI99 James Garza jgarza1g@bravesites.com E00KZHP
XMZWXT45 Richard Cunningham rcunningham1h@desdev.cn E00CKUV
XMZWYI99 Carlos Hart chart1i@alibaba.com E00ZLUK
XMZNWW61 William Rice wrice1j@hud.gov E00CMST
XMOWZO24 Patrick Kennedy pkennedy1k@over-blog.com E00GEHS
XMRNAZ74 Lillian Nguyen lnguyen1l@wsj.com E00YXNC
XMOWAK57 Matthew Reyes mreyes1m@baidu.com E00RGEF
XMOWTF81 Eric Andrews eandrews1n@java.com E00SZGA
XMOWEN19 Brian Freeman bfreeman1o@dell.com E00KYJV
XMONEC87 Joe Payne jpayne1p@icio.us E00HMIZ
XMZNJJ44 Edward Berry eberry1q@ca.gov E00QSEO
XMRNBD66 Karen Banks kbanks1r@china.com.cn E00CJPF
XMRWGU30 Diane Mcdonald dmcdonald1s@addtoany.com E00QSFJ
XMRNKL43 Lois Harris lharris1t@europa.eu E00ZPKT
XMZWPB73 Marilyn Coleman mcoleman1u@cnbc.com E00QIHW
XMRWUS18 Jacqueline Alexander jalexander1v@merriam-webster.com E00CPJM
XMONWK31 Donald Adams dadams1w@facebook.com E00MIBW
XMOWAV47 Virginia Anderson vanderson1x@ameblo.jp E00IUMO
XMZWBH32 Anna Hayes ahayes1y@oakley.com E00HRCU
XMONPK26 Thomas Jacobs tjacobs1z@ustream.tv E00KPQA
XMZWNO54 Amanda Peters apeters20@canalblog.com E00JKZC
XMONUH49 Martha Lane mlane21@yahoo.co.jp E00KQDG
XMRNFA05 Anne Price aprice22@istockphoto.com E00HYPJ
XMRNRF73 Craig Garrett cgarrett23@technorati.com E00NXAG
XMZWZH49 Andrea Castillo acastillo24@newyorker.com E00IXDN
XMRNLD81 Deborah Sanders dsanders25@microsoft.com E00HQOG
XMONXS56 Gerald Crawford gcrawford26@alibaba.com E00YNSB
XMZWES74 Donald Palmer dpalmer27@wsj.com E00WCON
XMZWQZ17 Kathy Welch kwelch28@imageshack.us E00IACR
territory_id first_name last_name email employee_id
NP00 Peter Alexander palexander0@unesco.org E00QTOF
NP01 Samuel Lopez slopez1@163.com E00UBFA
NP02 Elizabeth Stone estone2@usatoday.com E00WDYK
NP03 William Carroll wcarroll3@odnoklassniki.ru E00VDYQ
NP06 Carolyn Little clittle4@ox.ac.uk E00HUPR
NP07 Marilyn Robinson mrobinson5@wired.com E00ZJGS
NP08 Christopher Rogers crogers6@posterous.com E00DCHF
NP10 Anthony Allen aallen7@flickr.com E00ACEQ
NP12 Martin Baker mbaker8@hatena.ne.jp E00DKRZ
NP14 Kenneth Black kblack9@macromedia.com E00WPRM
NP15 Ernest Harper eharpera@boston.com E00QEMW
NP16 Kathryn Morris kmorrisb@cbslocal.com E00GNRI
NP18 Sarah Garza sgarzac@huffingtonpost.com E00LVWB
NP20 Arthur Young ayoungd@nydailynews.com E00HAQN
NP21 Harry Butler hbutlere@google.nl E00ETYF
NP22 Janet Knight jknightf@comcast.net E00PGJO
NP23 Kelly Hernandez khernandezg@surveymonkey.com E00VWFM
NP24 Tammy Banks tbanksh@huffingtonpost.com E00VBPJ
NP25 Deborah Cole dcolei@imgur.com E00LSNA
NP26 Frances Holmes fholmesj@huffingtonpost.com E00APTS
NP27 Christina Burns cburnsk@tinyurl.com E00DGIB
P000 Jason Mills jmillsl@boston.com E00EZNU
PM00 Ernest Day edaym@xinhuanet.com E00UMVH
PMC0 Joan Rivera jriveran@blinklist.com E00PCLK
PMC2 Nancy Hudson nhudsono@mapy.cz E00CITD
PMC3 Kimberly Thomas kthomasp@netvibes.com E00VIUQ
PMC4 Catherine Fowler cfowlerq@cornell.edu E00DCZJ
PMC6 Laura Hernandez lhernandezr@homestead.com E00CNUG
PMC7 Theresa Burke tburkes@booking.com E00UNHR
PME0 Tina Warren twarrent@example.com E00SQVC
PME1 Thomas Lynch tlynchu@noaa.gov E00FBYQ
PME2 Juan Allen jallenv@npr.org E00UWNR
PME4 Jane Mendoza jmendozaw@google.it E00CSRE
PME5 Russell Andrews randrewsx@nbcnews.com E00LRGI
PME6 Kathy White kwhitey@newyorker.com E00VKGN
PME7 Judith Snyder jsnyderz@unc.edu E00QTIU
PMN2 Carl Nichols cnichols10@tamu.edu E00EGOX
PMN3 Karen Elliott kelliott11@clickbank.net E00JBLR
PMN4 Thomas Grant tgrant12@wordpress.com E00TRBD
PMW0 James Coleman jcoleman13@webnode.com E00PFGR
PMW1 Brenda Bennett bbennett14@freewebs.com E00JKWR
PMW3 Victor Hart vhart15@tiny.cc E00PMLO
PMW4 Joseph Richards jrichards16@icq.com E00VQOE
PMW5 Justin Stanley jstanley17@cornell.edu E00PQCL
PMW6 Carlos Smith csmith18@blogtalkradio.com E00FCJD
PMW7 Stephanie Martinez smartinez19@diigo.com E00BPYS
PO00 Keith Franklin kfranklin1a@dmoz.org E00CIHT
POE0 Bruce Andrews bandrews1b@foxnews.com E00BYCI
POE1 Antonio Rose arose1c@mit.edu E00CETA
POE2 Chris Boyd cboyd1d@de.vu E00XAPQ
POE4 Stephanie Dunn sdunn1e@sakura.ne.jp E00GOKP
POE5 Phillip Perez pperez1f@feedburner.com E00GXEZ
POE6 James Garza jgarza1g@bravesites.com E00KZHP
POE7 Richard Cunningham rcunningham1h@desdev.cn E00CKUV
POW1 Carlos Hart chart1i@alibaba.com E00ZLUK
POW3 William Rice wrice1j@hud.gov E00CMST
POW4 Patrick Kennedy pkennedy1k@over-blog.com E00GEHS
POW5 Lillian Nguyen lnguyen1l@wsj.com E00YXNC
POW7 Matthew Reyes mreyes1m@baidu.com E00RGEF
PR00 Eric Andrews eandrews1n@java.com E00SZGA
PR01 Brian Freeman bfreeman1o@dell.com E00KYJV
PR02 Joe Payne jpayne1p@icio.us E00HMIZ
PR03 Edward Berry eberry1q@ca.gov E00QSEO
PR05 Karen Banks kbanks1r@china.com.cn E00CJPF
PR06 Diane Mcdonald dmcdonald1s@addtoany.com E00QSFJ
PR07 Lois Harris lharris1t@europa.eu E00ZPKT
PR08 Marilyn Coleman mcoleman1u@cnbc.com E00QIHW
PR09 Jacqueline Alexander jalexander1v@merriam-webster.com E00CPJM
PR10 Donald Adams dadams1w@facebook.com E00MIBW
PR12 Virginia Anderson vanderson1x@ameblo.jp E00IUMO
PRE0 Anna Hayes ahayes1y@oakley.com E00HRCU
PRW0 Thomas Jacobs tjacobs1z@ustream.tv E00KPQA
PSC0 Amanda Peters apeters20@canalblog.com E00JKZC
PSN3 Martha Lane mlane21@yahoo.co.jp E00KQDG
PSN5 Anne Price aprice22@istockphoto.com E00HYPJ
PSN6 Craig Garrett cgarrett23@technorati.com E00NXAG
PT01 Andrea Castillo acastillo24@newyorker.com E00IXDN
PW00 Deborah Sanders dsanders25@microsoft.com E00HQOG
PWN1 Gerald Crawford gcrawford26@alibaba.com E00YNSB
PWN4 Donald Palmer dpalmer27@wsj.com E00WCON
PX00 Kathy Welch kwelch28@imageshack.us E00IACR
scalaVersion := "2.11.8"
// copied from http://www.lihaoyi.com/Ammonite/#Ammonite-REPLinSBT
libraryDependencies += "com.lihaoyi" % "ammonite-repl" % "0.5.7" %
"test" cross CrossVersion.full
initialCommands in (Test, console) := """ammonite.repl.Main.run("")"""
// started with `s// start REPL with `sbt test:console`
load.ivy("com.propensive" %% "rapture-csv" % "2.0.0-M5")
import rapture.uri._
// to support "file://" URLs
import rapture.fs._
val file_before = uri"file:///tmp/before.csv"
val file_after = uri"file:///tmp/after.csv"
// so we know how to decode the bytes on disk
import rapture.codec.encodings.`UTF-8`._
// so we know how to parse CSV
import rapture.csv._
import rapture.csv.csvBackends.simple._
val c1 = Csv.parse(file_before)
val c2 = Csv.parse(file_after)
// now we can explore, for example...
c1.filter( i => i(1).toString.startsWith("F") )
// goal: map old territory IDs to new
// we'll include a filter to keep the results smaller for discussion
val letter = "J"
val byEmp1 = c1.
filter( i => i(1).toString.startsWith(letter) ).
map( i => ( i(4).toString, i(0).toString ) ).toMap
val byEmp2 = c2.
filter( i => i(1).toString.startsWith(letter) ).
map( i => ( i(4).toString, i(0).toString ) ).toMap
val mapping = byEmp1.map( b => (b._2, byEmp2(b._1) ) )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment