Не передается фрейм данных через flask sessions

Ошибка состоит в том, что в конечном файле CSV файл открывает только заголовки и все слитно без разделителей и данных просто нет!

У меня в 1 @app.route генерируются разные фреймы данных. Мне нужно их передать в другой @app.route для скачивания.

@app.route('/dataupload_2', methods=['GET', 'POST'])
def dataupload_2():
    if request.method == 'POST' and 'csv_data' in request.files:
        file = request.files['csv_data']
        filename = secure_filename(file.filename)
        #преобразования с датафрейм pandas функциями
        session["data_3"] = res_new_1.to_json()
        #передача датафрейма

@app.route('/download', methods=['GET', 'POST'])
def getPlotCSV():
    dat = session.get('data_3')
    dat = pd.read_json(dat)
    return Response(
        dat,
        mimetype="text/csv",
        headers={"Content-disposition":
                 "attachment; filename=myplot.csv"})

Помогите сделать так, что фрейм данных открывался в CSV полностью и нормально >.<


Ответы (1 шт):

Автор решения: MaxU

вы забыли преобразовать DataFrame в CSV файл при вызове Response():

@app.route('/download', methods=['GET', 'POST'])
def getPlotCSV():
    dat = session.get('data_3')
    dat = pd.read_json(dat)
    return Response(
        dat.to_csv(index=False),    # <------------------- NOTE !!!
        mimetype="text/csv",
        headers={"Content-disposition":
                 "attachment; filename=myplot.csv"})
→ Ссылка