使用烧瓶路由发送数据帧以另存为csv

时间:2019-06-28 09:29:54

标签: python flask

我正在执行一个Get请求,其中包含来自数据帧的数据,并将其转换为csv。

'/dash/urlToDownload?value={}'.format(df.to_csv(index=False, 
sep=',',                                                                      
encoding='utf-8'))

路线如下;

@app.server.route('/dash/urlToDownload')
def download_csv():
    value = flask.request.args.get('value')
    # create a dynamic csv or file here using `StringIO`
    # (instead of writing to the file system)
    strIO = io.StringIO()
    strIO.write(value)

    writer = csv.writer(strIO, delimiter=',', quotechar='|')
    writer.writerow(value)

    mem = io.BytesIO()
    mem.write(strIO.getvalue().encode('utf-8'))

    mem.seek(0)
    strIO.close()
    return flask.send_file(mem,
                     mimetype='text/csv',
                     attachment_filename='downloadFile.csv',
                     as_attachment=True)

我确实得到了一个csv文件,但是它不能识别换行,并且所有内容都写在第一行中。

有关变量值的示例;

  

version,id,value1,2,3

似乎value和1之间没有字符表示换行。

0 个答案:

没有答案