Py学习  »  Python

如何通过点击html按钮运行python函数?

Verbamore • 6 年前 • 1995 次点击  

  1. 导入文件
  2. 运行python脚本
  3. 导出结果

当我独立运行python脚本(不干扰flask)时,它运行得很好(我使用Jupyter笔记本),另一方面,当我使用flask(从提示符处)运行它时,我得到一个错误:

File "app.py", line 88, in <module>
    for name, df in transformed_dict.items():
NameError: name 'transformed_dict' is not defined

你知道我怎样才能让这个网络应用工作吗? 这是我第一次使用烧瓶,我会感谢任何建议或指导。

python file & html file

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)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54880
文章 [ 1 ]  |  最新文章 6 年前