lcacoffee

script that displays coffees sold by hour at lca2015. Currently it opens a .json file and converts it into a python dict.


In [40]:
import json
import os
import pandas

In [22]:
opcvs = open('/home/wcmckee/Downloads/convertcsv.json', 'r')

In [23]:
opzrd = opcvs.read()

In [24]:
jdunp = json.loads(opzrd)

In [25]:
valia = []

In [41]:
pandas.read_json(jdunp)


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-41-c0c64dcef8d2> in <module>()
----> 1 pandas.read_json(jdunp)

/usr/lib/python2.7/dist-packages/pandas/io/json.pyc in read_json(path_or_buf, orient, typ, dtype, convert_axes, convert_dates, keep_default_dates, numpy, precise_float, date_unit)
    196         obj = FrameParser(json, orient, dtype, convert_axes, convert_dates,
    197                           keep_default_dates, numpy, precise_float,
--> 198                           date_unit).parse()
    199 
    200     if typ == 'series' or obj is None:

/usr/lib/python2.7/dist-packages/pandas/io/json.pyc in parse(self)
    264 
    265         else:
--> 266             self._parse_no_numpy()
    267 
    268         if self.obj is None:

/usr/lib/python2.7/dist-packages/pandas/io/json.pyc in _parse_no_numpy(self)
    481         if orient == "columns":
    482             self.obj = DataFrame(
--> 483                 loads(json, precise_float=self.precise_float), dtype=None)
    484         elif orient == "split":
    485             decoded = dict((str(k), v)

TypeError: Expected String or Unicode

In [27]:
jdunp.count(int)


Out[27]:
0

In [47]:
len(jdunp)


Out[47]:
7

ok if i cycle through jdunp between 0 and 23 i get the results.

cycle through ints but as a string. must add ' '


In [67]:
for numtwn in range(0,24):
    print "'" + str(numtwn) + "'"


'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'10'
'11'
'12'
'13'
'14'
'15'
'16'
'17'
'18'
'19'
'20'
'21'
'22'
'23'

In [71]:
for jdr in jdunp:
    print jdr['0']


- -
- -
- -
- -
- -
- -
- -

In [74]:
for numtwn in range(0,24):
        print "'" + str(numtwn) + "'"


'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'10'
'11'
'12'
'13'
'14'
'15'
'16'
'17'
'18'
'19'
'20'
'21'
'22'
'23'

In [29]:
for dej in jdunp:
    print dej.values()
    valia.append(dej.values())


[u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u' 17 Jan 2015', u'', u'Sat', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -']
[u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u' 11 Jan 2015', u'', u'Sun', u'- -', u'- -', u'- -', u'4 (1)', u'0 (9)', u'12 (30)', u'0 (3)', u'8 (9)', u'- -', u'- -']
[u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'12 (21)', u'- -', u'8 (15)', u'104 (128)', u' 16 Jan 2015', u'', u'Fri', u'24 (30)', u'112 (131)', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -']
[u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'8 (20)', u'- -', u'20 (25)', u'68 (115)', u' 15 Jan 2015', u'', u'Thu', u'40 (40)', u'132 (136)', u'52 (55)', u'36 (50)', u'72 (103)', u'32 (49)', u'- -', u'4 (6)', u'- -', u'- -']
[u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'8 (9)', u'- -', u'40 (31)', u'44 (123)', u' 12 Jan 2015', u'', u'Mon', u'4 (13)', u'20 (118)', u'8 (52)', u'12 (34)', u'12 (46)', u'4 (33)', u'- -', u'0 (1)', u'- -', u'- -']
[u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'4 (17)', u'- -', u'0 (23)', u'24 (109)', u' 13 Jan 2015', u'', u'Tue', u'8 (25)', u'32 (101)', u'12 (55)', u'16 (43)', u'20 (100)', u'12 (43)', u'- -', u'4 (3)', u'- -', u'- -']
[u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'4 (19)', u'- -', u'8 (24)', u'20 (132)', u' 14 Jan 2015', u'', u'Wed', u'12 (39)', u'32 (133)', u'56 (64)', u'16 (36)', u'52 (83)', u'44 (38)', u'- -', u'- -', u'- -', u'- -']

In [30]:
dezrand = len(valia)

In [31]:
azlis = []

In [32]:
for vals in valia:    
    print vals
    azlis.append(vals)


[u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u' 17 Jan 2015', u'', u'Sat', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -']
[u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u' 11 Jan 2015', u'', u'Sun', u'- -', u'- -', u'- -', u'4 (1)', u'0 (9)', u'12 (30)', u'0 (3)', u'8 (9)', u'- -', u'- -']
[u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'12 (21)', u'- -', u'8 (15)', u'104 (128)', u' 16 Jan 2015', u'', u'Fri', u'24 (30)', u'112 (131)', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -']
[u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'8 (20)', u'- -', u'20 (25)', u'68 (115)', u' 15 Jan 2015', u'', u'Thu', u'40 (40)', u'132 (136)', u'52 (55)', u'36 (50)', u'72 (103)', u'32 (49)', u'- -', u'4 (6)', u'- -', u'- -']
[u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'8 (9)', u'- -', u'40 (31)', u'44 (123)', u' 12 Jan 2015', u'', u'Mon', u'4 (13)', u'20 (118)', u'8 (52)', u'12 (34)', u'12 (46)', u'4 (33)', u'- -', u'0 (1)', u'- -', u'- -']
[u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'4 (17)', u'- -', u'0 (23)', u'24 (109)', u' 13 Jan 2015', u'', u'Tue', u'8 (25)', u'32 (101)', u'12 (55)', u'16 (43)', u'20 (100)', u'12 (43)', u'- -', u'4 (3)', u'- -', u'- -']
[u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'- -', u'4 (19)', u'- -', u'8 (24)', u'20 (132)', u' 14 Jan 2015', u'', u'Wed', u'12 (39)', u'32 (133)', u'56 (64)', u'16 (36)', u'52 (83)', u'44 (38)', u'- -', u'- -', u'- -', u'- -']

I need to filter the - - from the results. I really only need the values that have numbers.

Take number in brackets away from number not in brackets. The number in brackets is total amount of coffees sold. The number not in brackets is amount of volchers used. The number that I get when i take away is the coffee sold without volchers.

New dict that shows only the times that coffee were sold and the amount of coffgfges that were solf. Maybe that would works.


In [33]:
betra = []

In [34]:
for azl in azlis:
    betra.append(azl)

In [35]:
anoe = []
anez = []

In [36]:
for betr in betra:
    betr.append(anoe)

In [37]:
for deta in betr:
    #print deta
    if '- -' in deta:
        print deta
    else:
        anez.append(deta)


- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -

In [38]:
fdic = []

In [ ]:


In [39]:
for resut in anez:
    print resut
    fdic.append(resut)


4 (19)
8 (24)
20 (132)
 14 Jan 2015

Wed
12 (39)
32 (133)
56 (64)
16 (36)
52 (83)
44 (38)
[]

How come it is only adding the wednesday data in the results. It needs to have all the datas.

Needs to take the number in brackets away from the number not in brackets.


In [20]:
fdic


Out[20]:
[u'4 (19)',
 u'8 (24)',
 u'20 (132)',
 u' 14 Jan 2015',
 u'',
 u'Wed',
 u'12 (39)',
 u'32 (133)',
 u'56 (64)',
 u'16 (36)',
 u'52 (83)',
 u'44 (38)',
 []]

In [84]:


In [84]:


In [ ]: