bengaluru-food-census/stats.rb

38 lines
826 B
Ruby
Raw Normal View History

2018-12-25 14:28:04 +00:00
require 'csv'
require 'set'
data = {}
locales = Set.new
Dir.glob("data/*.csv") do |file|
date_key = File.basename file, '.csv'
data[date_key] = {}
puts file
begin
CSV.foreach(file, headers: true) do |row|
locale = row[2]
if locale[-11..-1] == ", Bangalore"
locale = locale[0..-12]
end
locales << locale
data[date_key][locale]||=0
data[date_key][locale]+=1
end
rescue Exception => e
end
end
locales = locales.to_a.sort
CSV.open("stats.csv", "wb") do |csv|
csv << ["date"].concat(locales)
data.each do |date, census|
d = [date]
locales.each do |l|
locale_count = census[l]||0
d << locale_count
end
csv << d
end
end