Я пытаюсь заставить это веб-приложение работать, но получаю ошибку. Вот шаги, которые веб-приложение должно обрабатывать:
- импорт файла
- запуск скрипта python
- экспорт результатов
Когда я запускаю скрипт Python самостоятельно (без вмешательства в флешку), он работает нормально (я использую ноутбук Jupyter), с другой стороны, когда я запускаю его с флягой (из приглашения), я получаю ошибку:
File "app.py", line 88, in <module>
for name, df in transformed_dict.items():
NameError: name 'transformed_dict' is not defined
Есть идеи, как заставить это веб-приложение работать? Я впервые использую колбу, и я буду признателен за любые предложения или рекомендации.
Python-файл и HTML-файл
from flask import Flask,render_template,request,send_file
from flask_sqlalchemy import SQLAlchemy
import os
import pandas as pd
from openpyxl import load_workbook
import sqlalchemy as db
def transform(df):
# Some data processing here
return df
app=Flask(__name__)
@app.route('/')
def index():
return render_template('firstpage.html')
@app.route('/upload',methods=['Get','POST'])
def upload():
file=request.files['inputfile']
xls=pd.ExcelFile(file)
name_dict = {}
snames = xls.sheet_names
for sn in snames:
name_dict[sn] = xls.parse(sn)
for key, value in name_dict.items():
transform(value)
transformed_dict={}
for key, value in name_dict.items():
transformed_dict[key]=transform(value)
#### wirte to excel example:
writer = pd.ExcelWriter("MyData.xlsx", engine='xlsxwriter')
for name, df in transformed_dict.items():
df.to_excel(writer, sheet_name=name)
writer.save()
if __name__=='__main__':
app.run(port=5000)