64 lines
2.3 KiB
Python
64 lines
2.3 KiB
Python
from flask import Flask, redirect, url_for, request, render_template
|
||
from LabWork01.FuncLoad import createDataFrame
|
||
|
||
app = Flask(__name__)
|
||
|
||
#сразу загружаем весь док, чтобы потом просто прыгать по нему
|
||
listShops = createDataFrame()
|
||
|
||
#список типов данных по столбцам
|
||
listTypes = listShops.dtypes.to_list()
|
||
|
||
#формируем записи о кол-ве пустых ячеек в каждом столбце
|
||
countNull = listShops.isnull().sum()
|
||
|
||
@app.route("/")
|
||
def home():
|
||
return render_template('main_page.html', context=[], listTypes=listTypes, countNull=countNull, firstRow=1, secondRow=2, firstColumn=1, secondColumn=4)
|
||
|
||
@app.route("/showDiapason", methods=['GET','POST'])
|
||
def numtext():
|
||
data = request.args
|
||
|
||
#получаем срез и таблицы по введёным параметрам
|
||
newListShops = listShops.iloc[int(data['firstRow'])-1:int(data['secondRow']), int(data['firstColumn']):int(data['secondColumn'])+1]
|
||
|
||
_range = range(int(data['firstColumn']), int(data['secondColumn'])+1)
|
||
|
||
#список списков для шаблона
|
||
totalList = []
|
||
|
||
print(countNull[1])
|
||
|
||
#формирование 4-х списков для шаблонизатора
|
||
if 1 in _range:
|
||
listStoreArea = newListShops['Store_Area'].to_list()
|
||
|
||
totalList.append(listStoreArea)
|
||
|
||
if 2 in _range:
|
||
listItemsAvailable = newListShops['Items_Available'].to_list()
|
||
|
||
totalList.append(listItemsAvailable)
|
||
|
||
if 3 in _range:
|
||
listDailyCustomerCount = newListShops['Daily_Customer_Count'].to_list()
|
||
|
||
totalList.append(listDailyCustomerCount)
|
||
|
||
if 4 in _range:
|
||
listStoreSales = newListShops['Store_Sales'].to_list()
|
||
|
||
totalList.append(listStoreSales)
|
||
|
||
if int(data['firstRow']) and int(data['secondRow']) and int(data['firstColumn']) and int(data['secondColumn']):
|
||
return render_template('main_page.html', context=totalList, listTypes=listTypes, countNull=countNull,
|
||
firstColumn=int(data['firstColumn']), secondColumn=int(data['secondColumn']),
|
||
firstRow=int(data['firstRow']), secondRow=int(data['secondRow']))
|
||
|
||
home()
|
||
|
||
if __name__=="__main__":
|
||
app.run(debug=True)
|
||
|