Browse Source

updating ipython json export routine

master
Charles Reid 10 years ago
parent
commit
3cf4b758d7
  1. 31
      ipython/CSV to JSON Tree.ipynb

31
ipython/CSV to JSON Tree.ipynb

@ -23,7 +23,7 @@ @@ -23,7 +23,7 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": 25,
"metadata": {
"collapsed": false
},
@ -76,8 +76,14 @@ @@ -76,8 +76,14 @@
" # Populate the JSON skeleton\n",
" \n",
" for k,v in zip(bcl_groups.keys(),bcl_groups.values()):\n",
" dfvalue = df.ix[v][value_label].values[0]\n",
" if type(dfvalue)==type('asdf'):\n",
" tree[k[0]][k[1]][k[2]] = float(df.ix[v][value_label].values[0][1:])\n",
" else:\n",
" tree[k[0]][k[1]][k[2]] = dfvalue\n",
" #tree[k[0]][k[1]][k[2]] = df.ix[v][value_label].values[0]\n",
" tree[k[0]][k[1]][k[2]] = float(df.ix[v][value_label].values[0][1:])\n",
"\n",
" \n",
" \n",
" #print json.dumps(tree, indent=4, separators=(',', ': '))\n",
"\n",
@ -113,7 +119,7 @@ @@ -113,7 +119,7 @@
},
{
"cell_type": "code",
"execution_count": 16,
"execution_count": 26,
"metadata": {
"collapsed": false
},
@ -130,24 +136,11 @@ @@ -130,24 +136,11 @@
},
{
"cell_type": "code",
"execution_count": 17,
"execution_count": 28,
"metadata": {
"collapsed": false
},
"outputs": [
{
"ename": "IndexError",
"evalue": "invalid index to scalar variable.",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-17-18fc238f31e7>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mgroupby_groups\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m'Fund'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'Department'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'BCL Name'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mvalue_label\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'2013 Expenditure Allowance'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mtree_json\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtreeify_dataframe\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mgroupby_groups\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mvalue_label\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'budget2013.json'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'w'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m<ipython-input-15-1d515b754da2>\u001b[0m in \u001b[0;36mtreeify_dataframe\u001b[0;34m(df, groupby_groups, value_label)\u001b[0m\n\u001b[1;32m 47\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mv\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbcl_groups\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkeys\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mbcl_groups\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 48\u001b[0m \u001b[0;31m#tree[k[0]][k[1]][k[2]] = df.ix[v][value_label].values[0]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 49\u001b[0;31m \u001b[0mtree\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfloat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mix\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mv\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mvalue_label\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 50\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 51\u001b[0m \u001b[0;31m#print json.dumps(tree, indent=4, separators=(',', ': '))\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mIndexError\u001b[0m: invalid index to scalar variable."
]
}
],
"outputs": [],
"source": [
"df = pd.read_csv('budget2013.csv')\n",
"groupby_groups = ['Fund','Department','BCL Name']\n",
@ -160,7 +153,7 @@ @@ -160,7 +153,7 @@
},
{
"cell_type": "code",
"execution_count": 18,
"execution_count": 29,
"metadata": {
"collapsed": false
},

Loading…
Cancel
Save