summaryrefslogtreecommitdiff
path: root/fetch_ballots.py
blob: 0c1ec765da8619be5f427dd3ce235467ef9834df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import csv
import json
import requests

from pprint import pprint

def fetch_geocodes(cities):
    d = {}
    url = 'http://maps.googleapis.com/maps/api/geocode/json'
    for city in cities:
        print 'fetching ' + city
        res = requests.get(url, params={
            'address': city,
            'sensor': 'false'
        })
        city = unicode(city.decode('utf8')).encode('utf8')
        d[city] = json.loads(res.content, encoding='utf8')
    return d

with open('ballots.csv', 'r') as f:
    c = csv.reader(f, delimiter=',', quotechar='"')
    data = [x for x in c]
    addresses = map(lambda x: '%s %s, %s' % (x[8], x[9], x[6]), data)
    addresses = list(set(addresses))
    city_data = fetch_geocodes(addresses)
    with open('ballots.json', 'w') as out:
        json.dump(city_data, out, indent=4, ensure_ascii=False)