烧瓶需要每次重启才能正常工作

时间:2018-07-30 07:32:03

标签: python pandas dataframe flask flask-restful

我有一个flask应用程序,它将读取一些数据帧并在前端显示一些输出。我有两个routes。一个将接受user input并发送到第二条路由。第二条路线利用此输入并处理一些dataframe并提供一些输出。问题是,如果再次转到用户输入页面,并且如果我尝试提交另一个input,则会出现page not working错误。 是因为内存问题吗?如果重新启动服务器,则重复一次(每次需要重新启动时)。

from flask import flash, redirect, render_template, url_for, request, jsonify
import math
import os
import glob
import pandas as pd
from . import fa
from database import connection
UPLOAD_DIRECTORY = './uploads'
if not os.path.exists(UPLOAD_DIRECTORY):
    os.makedirs(UPLOAD_DIRECTORY)

@fa.route('/fc', methods=['GET', 'POST'])
def index():
    return render_template('fc.html',flag=0)

@fa.route('/fc/s', methods=['GET', 'POST'])
def start():
    if request.method == 'POST':
            material_number = request.form['ma']
            path = UPLOAD_DIRECTORY
            extension = 'xlsx'
            os.chdir(path)
            result = [i for i in glob.glob('*.{}'.format(extension))]
            allFiles = result
            frame = pd.DataFrame()
            list_ = []
            for file_ in allFiles:
                df = pd.read_excel(file_)
                list_.append(df)
            frame = pd.concat(list_)
            frame = frame.reset_index(drop=True)
            df1 = frame[frame['Ma'].str.contains(ma,regex=True)]
            pr = df1['Pr'].unique().tolist() 
            pro = pd.read_excel(r'~pathhiddn~\dtrvsproj.xlsx')
            return render_template('fc.html',flag=1,ma=ma,prs=pr)
    return redirect(url_for('fa.index'))

1 个答案:

答案 0 :(得分:0)

os.chdir(path)

这是导致问题的原因。我将其删除,并将df = pd.read_excel(file_)替换为df = pd.read_excel('./uploads/data/'+file_)