Advertisement
Guest User

Untitled

a guest
Feb 7th, 2016
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. #! /usr/bin/env ruby
  2.  
  3. require 'csv'
  4. require 'json'
  5.  
  6. MIN_LEVEL = -40
  7.  
  8. views = {}
  9. times = []
  10.  
  11. CSV.foreach('1991data') do |row|
  12. sig_level = row[7].to_i
  13. next if sig_level < MIN_LEVEL
  14.  
  15. router_id = row[1].to_i
  16. time = Time.at(row[2].to_i)
  17. mac = row[3].strip
  18.  
  19. times << time
  20.  
  21. views[router_id] ||= {}
  22. views[router_id][time] ||= []
  23. views[router_id][time] << mac
  24. end
  25.  
  26. categories = times.uniq.sort
  27. series = []
  28.  
  29. views.each do |router_id, time_views|
  30. data = categories.map do |time|
  31. time_views.fetch(time, []).uniq.count
  32. end
  33. series << {name: router_id, data: data}
  34. end
  35.  
  36. puts 'Categories:'
  37. puts categories.to_json
  38. puts
  39. puts 'Series:'
  40. puts series.to_json
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement