【发布时间】:2019-11-03 01:53:42
【问题描述】:
我正在尝试使此 Web 应用程序正常工作,但出现错误。这些是网络应用程序应该处理的步骤:
- 导入文件
- 运行python脚本
- 导出结果
当我独立运行 python 脚本(不干扰烧瓶)时,它工作正常(我使用 Jupyter 笔记本)另一方面,当我用烧瓶运行它时(从提示符)我得到一个错误:
File "app.py", line 88, in <module>
for name, df in transformed_dict.items():
NameError: name 'transformed_dict' is not defined
知道如何使这个网络应用程序正常工作吗? 这是我第一次使用flask,如果有任何建议或指导,我将不胜感激。
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)
【问题讨论】:
-
你只需要缩进最后一个块,让它作为
upload()的一部分运行 -
@Randy 谢谢你的回答。你能给我举个例子吗?我不确定我是否理解您的建议。
标签: python-3.x pandas flask flask-sqlalchemy