【Python】FlaskでCSVを受け取ってDataFrameにする

【Python】FlaskでCSVを受け取ってDataFrameにする

環境

Python==3.8.1

Flask==1.1.1

Werkzeug==1.0.0

目的

機械学習系のWebアプリを作る場合は、CSVを受け取って処理をすることが多いと思います。
(今はディープラーニングだから画像メインだろとかは知りません←)

Flaskでのサンプルはかなり出回っていますが、自分の整理のために。

実際のコード

Flaskでは、form-dataでfileが送信されると、request.filesでその中身を取得できます。

request.filesはディクショナリを継承した型が使われており、通常の辞書型と同じようにデータにアクセスすることが出来ます。
アクセスする際のキーは、form-dataを送信する際のキーと同じものなので直感的でした。

データの中身はFlaskの内部で動いているwerkzeugのFileStorage型となっていますが、そのままpd.read_csvでDataFrameとすることが出来ます。
(read_csvはパスからの読み込みだけでなく、bufferからの読み込みにも対応しています。便利。)

なお、file以外のフィールドについてはrequest.jsonにデータが格納されるようになっています。

 

Djangoとかなり似ているのでとっつきやすかったです。というか多分これが標準的な形なんだろうな。

 

Flaskカテゴリの最新記事