Skip to content

Instantly share code, notes, and snippets.

@i5okie

i5okie/app.rb Secret

Last active August 29, 2015 14:27
Show Gist options
  • Save i5okie/141fe2f5b780d2686244 to your computer and use it in GitHub Desktop.
Save i5okie/141fe2f5b780d2686244 to your computer and use it in GitHub Desktop.
CDR parsing
require 'CSV'
require 'time'
CSV.foreach('cdr.csv') do |row|
puts "#{row[13]} --- #{Time.strptime(row[9],"%H:%M:%S.%N %Z %a %B %d %Y")} - #{Time.strptime(false || row[10],"%H:%M:%S.%N %Z %a %B %d %Y")}"
end
We can make this file beautiful and searchable if this error is corrected: It looks like row 9 should actually have 130 columns, instead of 1. in line 8.
1431466299,192390,0,1,"XXXXXXXX XXXXXXXX XXXXXXXX C6B95D31","","","14:31:37.268 PDT Tue May 12 2015","","14:31:39.508 PDT Tue May 12 2015","14:31:39.508 PDT Tue May 12 2015","","","answer",0,"",0,0,0,0,"201","201","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",0,"Tariff:Unknown","","0","","","","","","","","","","","","","","","","","","","","","","","","ton:0,npi:0,pi:0,si:0,#:201","","","","","","","","","","","","RegularLine","","","","","","TWC","05/12/2015 14:31:37.256","201","",0,43260,1AA571FA F82511E4 AE55A63D C6B95D31,2EF86,"","","","","dn:unique,usr:BOB,tag:6","cme","","","",""
1431466313,192391,0,1,"XXXXXXXX XXXXXXXX XXXXXXXX C6B95D31","","","14:31:47.651 PDT Tue May 12 2015","","14:31:53.551 PDT Tue May 12 2015","14:31:53.551 PDT Tue May 12 2015","","","answer",0,"",0,0,0,0,"202","202","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",0,"Tariff:Unknown","","0","","","","","","","","","","","","","","","","","","","","","","","","ton:0,npi:0,pi:0,si:0,#:202","","","","","","","","","","","","RegularLine","","","","","","TWC","05/12/2015 14:31:47.657","202","",0,43264,20D869D5 F82511E4 AE59A63D C6B95D31,2EF87,"","","","","dn:shared,usr:BOB,tag:2","cme","","","",""
1431466323,192394,0,2,"XXXXXXXX XXXXXXXX XXXXXXXX C6B95D31","","","14:32:00.043 PDT Tue May 12 2015","","14:32:03.383 PDT Tue May 12 2015","14:32:03.383 PDT Tue May 12 2015","","","originate",0,"",0,0,0,0,"2505555535","2505555535","2505555524","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",0,"","","0","0.0.0.0","","","","","","","","","","","","","","","","","","","","","","","ton:0,npi:0,pi:0,si:0,#:202","","","","ton:0,npi:0,#:9555555590","ton:0,npi:0,pi:0,si:0,#:9555555590","","","","007","","","RegularLine","","","sipv2","","","TWC","05/12/2015 14:31:59.961","2502764335","9555555590",0,43273,265926AB F82511E4 AE5FA63D C6B95D31,2EF8A,"","","","","","","","","",""
1431466331,192385,0,1,"XXXXXXXX XXXXXXXX XXXXXXXX C6B95D31","","","14:31:28.045 PDT Tue May 12 2015","14:31:28.075 PDT Tue May 12 2015","14:31:36.725 PDT Tue May 12 2015","14:32:11.445 PDT Tue May 12 2015","","","originate",0,"",0,0,1712,273920,"9455550790","9555555590","202","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",35,"Tariff:Unknown","","0","","","","","","","","","","","","","","","","","","","","","","","ton:0,npi:0,#:9555555590","ton:0,npi:0,pi:0,si:0,#:9555555590","","","","","ton:0,npi:0,pi:0,si:0,#:9555555590","","","","","","","Unknown","","","","","","CXFER","05/12/2015 14:32:11.417",0,43274,151DFCCE F82511E4 AE3DA63D C6B95D31,"756",2EF81,0,5,"202","9555555590","007","dn:shared,usr:JANE,tag:2","cme","","","",""
1431466331,192385,0,1,"XXXXXXXX XXXXXXXX XXXXXXXX C6B95D31","","","14:31:28.045 PDT Tue May 12 2015","14:31:28.075 PDT Tue May 12 2015","14:31:36.725 PDT Tue May 12 2015","14:32:11.445 PDT Tue May 12 2015","","","originate",0,"",0,0,1712,273920,"9455555590","9555555590","202","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",35,"Tariff:Unknown","","0","","","","","","","","","","","","","","","","","","","","","","","ton:0,npi:0,#:9555555590","ton:0,npi:0,pi:0,si:0,#:9555555590","","","","","ton:0,npi:0,pi:0,si:0,#:9555555590","","","","","","","Unknown","","","","","","HOLD","05/12/2015 14:31:56.889",0,43268,265A5EFB F82511E4 AE61A63D C6B95D31,2EF81,2,"202","9555555590",1,"JANE",2,"dn:shared,usr:JANE,tag:2","cme","","","",""
1431466331,192385,0,1,"XXXXXXXX XXXXXXXX XXXXXXXX C6B95D31","","","14:31:28.045 PDT Tue May 12 2015","14:31:28.075 PDT Tue May 12 2015","14:31:36.725 PDT Tue May 12 2015","14:32:11.445 PDT Tue May 12 2015","","","originate",0,"",0,0,1712,273920,"9455555790","9555555590","202","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",35,"Tariff:Unknown","","0","","","","","","","","","","","","","","","","","","","","","","","ton:0,npi:0,#:9555555590","ton:0,npi:0,pi:0,si:0,#:9555555590","","","","","ton:0,npi:0,pi:0,si:0,#:9555555590","","","","","","","Unknown","","","","","","RESUME","05/12/2015 14:31:55.257",0,43265,256157BA F82511E4 AE5EA63D C6B95D31,2EF81,0,"202","9555555590",1,"JANE",2,"dn:shared,usr:JANE,tag:2","cme","","","",""
1431466331,192385,0,1,"XXXXXXXX XXXXXXXX XXXXXXXX C6B95D31","","","14:31:28.045 PDT Tue May 12 2015","14:31:28.075 PDT Tue May 12 2015","14:31:36.725 PDT Tue May 12 2015","14:32:11.445 PDT Tue May 12 2015","","","originate",0,"",0,0,1712,273920,"9455555590","9555555590","202","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",35,"Tariff:Unknown","","0","","","","","","","","","","","","","","","","","","","","","","","ton:0,npi:0,#:9555555590","ton:0,npi:0,pi:0,si:0,#:9555555590","","","","","ton:0,npi:0,pi:0,si:0,#:9555555590","","","","","","","Unknown","","","","","","HOLD","05/12/2015 14:31:47.657",0,43261,20D9A2BD F82511E4 AE5BA63D C6B95D31,2EF81,2,"202","9555555590",1,"JANE",2,"dn:shared,usr:JANE,tag:2","cme","","","",""
1431466331,192385,0,1,"XXXXXXXX XXXXXXXX XXXXXXXX C6B95D31","","","14:31:28.045 PDT Tue May 12 2015","14:31:28.075 PDT Tue May 12 2015","14:31:36.725 PDT Tue May 12 2015","14:32:11.445 PDT Tue May 12 2015","","","originate",0,"",0,0,1712,273920,"9455555590","9555555590","202","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",35,"Tariff:Unknown","","0","","","","","","","","","","","","","","","","","","","","","","","ton:0,npi:0,#:9555555590","ton:0,npi:0,pi:0,si:0,#:9555555590","","","","","ton:0,npi:0,pi:0,si:0,#:9555555590","","","","","","","Unknown","","","","","","TWC","05/12/2015 14:31:28.004","9555555590","202",0,43256,151DFCCE F82511E4 AE3DA63D C6B95D31,2EF81,"","","","","dn:shared,usr:JANE,tag:2","cme","","","",""
1431466586
1431467186
answer --- 2015-05-12 14:32:03 -0700 - 2015-05-12 14:32:11 -0700
answer --- 2015-05-12 14:32:03 -0700 - 2015-05-12 14:32:11 -0700
originate --- 2015-05-12 14:32:03 -0700 - 2015-05-12 14:34:41 -0700
originate --- 2015-05-12 14:32:03 -0700 - 2015-05-12 14:34:41 -0700
answer --- 2015-05-12 14:31:36 -0700 - 2015-05-12 14:34:41 -0700
answer --- 2015-05-12 14:31:36 -0700 - 2015-05-12 14:34:41 -0700
answer --- 2015-05-12 14:31:36 -0700 - 2015-05-12 14:34:41 -0700
answer --- 2015-05-12 14:31:36 -0700 - 2015-05-12 14:34:41 -0700
answer --- 2015-05-12 14:31:36 -0700 - 2015-05-12 14:34:41 -0700
/Users/ivan/.rubies/ruby-2.2.2/lib/ruby/2.2.0/time.rb:426:in `_strptime': no implicit conversion of nil into String (TypeError)
from /Users/ivan/.rubies/ruby-2.2.2/lib/ruby/2.2.0/time.rb:426:in `strptime'
from app.rb:5:in `block in <main>'
from /Users/ivan/.rubies/ruby-2.2.2/lib/ruby/2.2.0/CSV.rb:1739:in `each'
from /Users/ivan/.rubies/ruby-2.2.2/lib/ruby/2.2.0/CSV.rb:1122:in `block in foreach'
from /Users/ivan/.rubies/ruby-2.2.2/lib/ruby/2.2.0/CSV.rb:1273:in `open'
from /Users/ivan/.rubies/ruby-2.2.2/lib/ruby/2.2.0/CSV.rb:1121:in `foreach'
from app.rb:4:in `<main>'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment