Skip to content

Instantly share code, notes, and snippets.

@sammachin
Created August 7, 2014 11:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save sammachin/671f90c15ec6331598e5 to your computer and use it in GitHub Desktop.
Save sammachin/671f90c15ec6331598e5 to your computer and use it in GitHub Desktop.
Fetch Data from the ONS-API as JSON STAT then turn that into a set of simple numbers
#! /usr/bin/env python
import json
import requests
def process(obj, ds):
data = {}
values = obj[ds]['value']
index = obj[ds]['dimension'][obj[ds]['dimension']['id'][1]]['category']['index']
labels = obj[ds]['dimension'][obj[ds]['dimension']['id'][1]]['category']['label']
for l in labels:
num = index[l]
count = values[str(num)]
data[labels[l]] = count
return data
def getdata(dataset, geog_code):
baseurl = "http://data.ons.gov.uk/ons/api/data/dataset/"
payload = {'apikey': apikey, 'context': 'Census', 'geog' : '2011WARDH', 'dm/2011WARDH' : geog_code, 'totals' : 'false', 'jsontype' : 'json-stat' }
r = requests.get(baseurl+"/"+dataset+".json", params=payload)
obj = json.loads(r.text)
return obj
apikey = "XXXXXXXX"
dataset = "QS104EW" # Gender Split
geog_code = "K04000001" #England & Wales
jsonstat = getdata(dataset, geog_code)
process(jsonstat, dataset)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment