烧瓶不保存就上传CSV文件

时间:2019-02-13 08:15:35

标签: python flask

尝试使用CSV文件上传功能将文本分类模型放置到flask应用程序中,以在不保存上传的.csv文件的情况下读取数据并将其扔到我的分类器模型中,然后在结果页上进行打印。下面是我尝试的示例代码:

@app.route('/', methods=['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
        file = request.files['file']
        if file and allowed_file(file.filename):
            filename = secure_filename(file.filename)
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))

            file.stream.seek(0) 
            myfile = file.file 
            dataframe = pd.read_csv(myfile)
            return
        else:
            return "Not Allowed"

    return render_template("home.html")

这是我的表单

<form action="" method=post enctype=multipart/form-data>
            <input type=file name="file[]" multiple>
            <input type=submit value=Upload>
</form> 

例外发生在这里

NameError: name 'allowed_file' is not defined

关于这种问题有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我认为您正在使用文档的这一部分:(http://flask.pocoo.org/docs/0.12/patterns/fileuploads/

但是您必须添加功能:

def allowed_file(filename):
    return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS`

答案 1 :(得分:0)

您是否在模块中创建了名为allowed_file()的函数?还是您在另一个模块中创建了它,却忘记了导入它?您正在将文件名输入到函数allowed_file()中,以便它可以检查是否允许文件名,但是NameError表示找不到函数allowed_file()