FlaskでCSV取得して文字化けさせずにExcelで表示

python

再びFlaskから

今回はタイトルの通りCSV取得→Excel表示まで

下記のコードは今開いているURLを取得してブラウザにダウンロードするコード

from flask import Flask, request, Response
import pandas as pd

    url = request.url
    dfs = pd.read_html(url , encoding='utf-8')
    #カラムは開いているサイトに応じて変更
    dfs[0].columns = ['名前','背番号','国籍','生年月日','所属','ポジション','投稿時間']

    response = Response(dfs[0].to_csv(index=False).encode('utf_8_sig'))
    response.headers["Content-type"] = "text/csv"
    response.headers['Content-Disposition'] = 'attachment; filename='+ csvtitle +'.csv'

    return response 

何かトリガー(ボタン押下等)を置く場合は

if request.method == “POST”:

で囲うとか

if ‘getcsv’ in request.form:

でhtmlのbutton name=”getcsv”なんかで分岐させればおk