1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#!/usr/bin/env python
from collections import defaultdict
import pandas as pd
columns = ['name', 'serving_size', 'calories', 'calories_from_fat', 'total_fat',
'saturated_fat', 'trans_fat', 'cholesterol', 'sodium',
'total_carbs', 'dietary_fiber', 'sugars', 'protein']
bases = []
signature_ingredients = []
premium_ingredients = []
dressings = []
with open('out.csv') as fh:
lines = fh.readlines()
tables = defaultdict(list)
tablemap = {'BASES': 'Bases',
'SIGNATURE INGREDIENTS': 'Signature ingredients',
'PREMIUM INGREDIENTS': 'Premium ingredients',
'"DRESSINGS': 'Dressings'}
title = None
for line in lines:
line = line.strip()
if 'SIGNATURE MENU' in line:
break
if '(g)' in line:
title = line.split(',')[0]
continue
if title in tablemap:
cells = line.split(',')
cells = [cells[0]] + [int(cell) for cell in cells[1:]]
tables[tablemap[title]].append(cells)
dfs = {name: pd.DataFrame(data=table, columns=columns) for name, table in tables.items()}
import json
jdfs = {name: df.to_dict('records') for name, df in dfs.items()}
print('let data = ' + json.dumps(jdfs))
|