Не передается фрейм данных через 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"})