First, fetch the published file and prepare it for comparison
# Fetch file
curl 'https://data.phila.gov/resource/6quj-54t7.csv?$limit=5000' | \
# Fix currency formatting
sed -E 's/,\$([0-9]+)\.00/,\1/g' | \
# Sort
First, fetch the published file and prepare it for comparison
# Fetch file
curl 'https://data.phila.gov/resource/6quj-54t7.csv?$limit=5000' | \
# Fix currency formatting
sed -E 's/,\$([0-9]+)\.00/,\1/g' | \
# Sort
| ward | registered_total | registered_democratic | registered_republican | turnout_total | turnout_democratic | turnout_republican | turnout_pct_total | turnout_pct_democratic | turnout_pct_republican | |------|------|------|------|------|------|------|------|------|------|------|------|------|------|------| | 1 | | 66A |
| ward | party | registered_total | registered_party | turnout_total | turnout_party | turnout_pct_total | turnout_pct_party |
WARD | DISTRICT | NAME | PARTY | TYPE | |
---|---|---|---|---|---|
01 | 01 | LINDA SAMACICIA | Democrat | M | |
01 | 02 | BEATRIZ P BORODIAK | Democrat | M | |
01 | 03 | MILLICENT BADIE | Democrat | M | |
01 | 04 | DARNELL HELEM | Democrat | M | |
01 | 06 | KERNARD M SHEARLDS | Democrat | M | |
01 | 07 | AIDA L RIBOT | Democrat | M | |
01 | 08 | CECILY C KIHN | Democrat | M | |
01 | 10 | LARNEY J REED | Democrat | M | |
01 | 12 | SYLVIA A HARKER | Democrat | M |
{ | |
"version": "2", | |
"header": { | |
"title": "Crime Incidents 2015 - October 2016", | |
"description": "Philadelphia Police Department crime incidents from calendar year 2006 to present, including Part I and Part II crimes. UCR codes are generalized and incident locations are rounded to the hundred block. These counts may not coincide exactly with data that is submitted to the Uniformed Crime Reporting (UCR) system.", | |
"navigation": [ | |
{ | |
"label": "Download", | |
"url": "" | |
} |
app.use({ | |
wrapEffects: (cb) => { | |
return async (state, data, send, done) => { | |
const psend = promisify(send) | |
try { | |
await cb(state, data, psend) | |
done() | |
} catch (err) { | |
done(err) | |
} |
function reorder (state, data) { | |
const { from, to } = data | |
const rowsCopy = state.rows.slice() | |
const fromRowCopy = rowsCopy[from.row].slice() | |
const item = fromRowCopy[from.index] | |
fromRowCopy.splice(from.index, 1) // remove from row | |
rowsCopy[from.row] = fromRowCopy // replace 'from' row |
const choo = require('choo') | |
const html = require('choo/html') | |
const widget = require('cache-element/widget') | |
const app = choo() | |
app.model({ | |
state: { | |
rows: [ {a: 'a'}, {b: 'b'} ] | |
}, |
import csv | |
import sys | |
import requests | |
odp_packages_url = 'https://opendataphilly.org/api/3/action/package_search?rows=10000' | |
odp_dataset_prefix = 'https://opendataphilly.org/package/' | |
socrata_keyword = '//data.phila.gov' | |
response = requests.get(odp_packages_url) |