如何使用Flask接收输入的excel文件并使用openpyxl读取它?

时间:2019-10-08 14:32:04

标签: python flask openpyxl

我创建了一个python脚本,该脚本从计算机上加载excel文件,并在使用openpyxl处理了其中的信息之后,保存了一个新的excel文件。 该脚本可以在我的计算机上运行。出于长寿的目的,我想使用pythonanywhere或类似的方法将脚本制作成网站(将flask整合为将脚本转换成网站的最佳方法) )。但是,由于我对使用flask的经验很少,因此我很难找到一种接受用户文件的方法。这是我当前拥有的创建“选择文件”按钮和“过程文件”按钮的代码:

app = Flask(__name__)
app.config["DEBUG"] = True

@app.route("/", methods=["GET", "POST"])
def file_summer_page():
    if request.method == ("POST"):
        input_file = request.files["input_file"]
        wb_master = load_workbook(input_file)
        output_data = main(wb_master)
        response = make_response(output_data)
        response.headers["Content-Disposition"] = "attachment; filename=result.csv"
        return response

    return '''
        <html>
            <body>
                <p>Load up the automated eval that MS Forms gives you:</p>
                <form method="post" action="." enctype="multipart/form-data">
                    <p><input type="file" name="input_file" /></p>
                    <p><input type="submit" value="Process the file" /></p>
                </form>
            </body>
        </html>
    '''

与我同在。再说一次,我并没有太多使用Flask,但是到目前为止,这是我的主意。 Main(wb_master)本质上调用了我编写的脚本,因此可以运行。目前,这将返回以下错误:“ AttributeError:'SpooledTemporaryFile'对象没有属性'seekable'。”在这种情况下,我真的不知道这意味着什么,但是我认为这是由于我没有正确读取文件。任何帮助将不胜感激!

0 个答案:

没有答案