def uploads_file_sheet_render(filename, sheetnumber):
sheet = xlutils.get_sheet_by_index(os.path.join(config.UPLOAD_FOLDER, filename), sheet_num=int(sheetnumber))
data = xlutils.parse_sheet(sheet)
pok_name = "ERROR"
if len(data) > 0:
pok_name = data[0]['pokazatel']
years = [] # для использования в шапке таблицы
by_areas = {}
for item in data:
year = item['year']
area = item['area']
if year not in years:
years.append(year)
# пустой словарь для добавления области
if not by_areas.get(area):
by_areas[area] = {}
# пустой словарь для добавления лет
if not by_areas[area].get('years'):
by_areas[area]['years'] = {}
by_areas[area]['years'][year] = item['value']
"""
Для кнопки submit
"""
if request.method == 'POST':
parsed = xlutils.parse_sheet(sheet)
for row in parsed:
queryes.insert_row(row['pokazatel'], row['area'], row['year'], row['value'])
queryes.db.commit()
queryes.db.close()
return render_template('uploads_file_sheet_render.html',
data=by_areas,
pok_name=pok_name,
years=years)