summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuval Adam <yuv.adm@gmail.com>2013-02-17 19:52:31 +0100
committerYuval Adam <yuv.adm@gmail.com>2013-02-17 19:52:31 +0100
commit105dd7c7e6409ffc6148c284175117e7a4656dda (patch)
tree2882bbee7e8c8adec55b15f84a77605fc614e6ff
parent92300152db672dc74b9ea70b258d792e2e103f95 (diff)
Fetch ballots addresses script
-rw-r--r--fetch_ballots.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/fetch_ballots.py b/fetch_ballots.py
new file mode 100644
index 0000000..0c1ec76
--- /dev/null
+++ b/fetch_ballots.py
@@ -0,0 +1,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)