はじめに
本記事では、PythonのWebフレームワークであるFlaskとデータ処理ライブラリのpandasを使用して、pandasのDataFrameをFlaskのビューに表示する方法について解説します。
Flaskとpandasのインストール
まずは、Flaskとpandasをインストールしましょう。
pip install flask pip install pandas
また、表示に必要なライブラリとして、FlaskのテンプレートエンジンであるJinja2も必要です。
pip install jinja2
アプリケーションの設定
次に、Flaskアプリケーションの基本設定と、pandas DataFrameを扱う準備をします。
from flask import Flask, render_template import pandas as pd app = Flask(__name__) # アプリケーションの設定 app.config['TEMPLATES_AUTO_RELOAD'] = True # サンプルデータの読み込み data = pd.read_csv('sample_data.csv')
データの準備
表示するためのサンプルデータセットを準備しましょう。ここでは、CSVファイルからデータを読み込みます。
data = pd.read_csv('sample_data.csv') print(data)
上記のコードで、CSVファイルからデータを読み込み、DataFrameとして変数dataに格納しています。
読み込んだデータを確認するために、print関数でdataを出力してみましょう。
print(data)
ビュー関数の作成
pandas DataFrameをFlaskのビュー関数に渡すために、以下のようなビュー関数を作成します。
@app.route('/') def index(): return render_template('index.html', data=data)
上記のコードでは、FlaskのルートURL(‘/’)にアクセスした際に、index関数が呼び出されます。
index関数では、render_template関数を使用してindex.htmlテンプレートにdataを渡しています。
HTMLテンプレートの編集
最後に、DataFrameを適切に表示するためのHTMLテンプレートを作成しましょう。
index.htmlファイルを作成し、以下のようなコードを追加します。
<table> <thead> <tr> <th>{{ data.columns[0] }}</th> <th>{{ data.columns[1] }}</th> <th>{{ data.columns[2] }}</th> </tr> </thead> <tbody> {% for row in data.iterrows() %} <tr> <td>{{ row[1][0] }}</td> <td>{{ row[1][1] }}</td> <td>{{ row[1][2] }}</td> </tr> {% endfor %} </tbody> </table>
上記のコードでは、pandas DataFrameのカラム名を表のヘッダーに表示し、各行のデータをテーブルに表示しています。
まとめ
以上で、pandasのDataFrameをFlaskのビューに表示する方法について紹介しました。Flaskとpandasを組み合わせることで、データの処理と表示を効率的に行うことができます。