This snippet export utf-8 data to csv file that Excel can read.
import io
import csv
from flask import make_response
@app.route('/export', methods='GET')
def export():
"""
Base on a couple of answer on Stack Overflow
"""
si = io.BytesIO()
cw = csv.writer(si, dialect='excel', encoding='utf-8-sig')
cw.writerows(data)
output = make_response(si.getvalue())
output.headers["Content-Disposition"] = "attachment; filename=export.csv"
output.headers["Content-type"] = "text/csv"
return output
How do you pass the "data" ?