Pythonその他

Pythonフレームワーク「Flask」を利用したWebアプリケーションでCSVファイルを取り込みJSON形式に変換してみた

Pythonのcsvパッケージやjsonパッケージを利用すると、CSVファイルのデータをJSON形式に簡単に変換することができる。

今回は、Pythonフレームワーク「Flask」を利用したWebアプリケーションでCSVファイルを取り込みJSON形式に変換してみたので、そのサンプルプログラムを共有する。

前提条件

下記記事のFlaskによる環境構築と実装が完了していること。

Pythonフレームワーク「Flask」を利用したWebアプリケーションを作成してみたFlaskは、Pythonで開発する際のWebフレームワークの1つで、マイクロフレームワーク(軽量で必要最低限の機能が搭載されているフレ...

また、以下のPyCharmのインストールが完了していること。

PythonのGUI開発を行うためのPyCharmをインストールしてみたPythonの開発を便利に行える統合開発環境(IDE)として、「PyCharm」というツールがあることが分かったので、今回、そのインスト...

chardetパッケージのインストール

今回作成するプログラムでは、文字コードを判定するchardetパッケージを利用するため、これをインストールする。その手順は、以下の通り。

1) コマンドプロンプトで「pip install chardet」コマンドを実行し、最新バージョンのchardetをインストールする。
chardetパッケージのインストール_1

2)「pip list | find “chardet”」コマンドを実行すると、以下のように、chardetがインストールされたことが確認できる。
chardetパッケージのインストール_2



ウズウズカレッジJavaコースはわかりやすい動画教材と充実した就業サポートで優良企業を目指せるプログラミングスクールだったJavaは、世界中で広く使われていて、現在の需要が高く将来性もある開発言語になります。 https://www.acrovision....

サンプルプログラムの構成

作成したサンプルプログラムの構成は、以下の通り。
サンプルプログラムの構成
なお、上記の赤枠は、前提条件のプログラムから追加・変更したプログラムである。

index.htmlの内容は以下の通りで、CSVファイルを取り込む部分と、CSVファイルのデータをJSON形式で表示するテキストエリアを追加している。

また、demo.jsの内容は以下の通りで、チェック処理と、views.pyのパス/import-csvを呼び出す処理を実装している。

さらに、views.pyの内容は以下の通りで、CSV取込ボタン押下処理を追加している。

また、csv_json.pyの内容は以下の通りで、views.pyから呼ばれる、取り込んだCSVファイルの保存と、CSVファイルのデータをJSON形式に変換する処理を実装している。

その他のソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/python/tree/master/make-flask-csv-to-json/



「DesignEvo」は多くのテンプレートからロゴを簡単に作成できるツールだった多くのテンプレートが用意されていてロゴを簡単に作成できるツールの一つに、「DesignEvo」があります。今回は、「DesignEvo」...

サンプルプログラムの実行結果

サンプルプログラムの実行結果は、以下の通り。

1) コマンドプロンプトでserver.pyが入っているフォルダに移動し、server.pyを実行する。
サンプルプログラムの実行結果_1

2) Webブラウザで「http://127.0.0.1:5000/」とアクセスすると、以下のように、index.htmlの画面が表示される。
サンプルプログラムの実行結果_2

3) 取込対象となるCSVファイルの内容は以下の通りで、文字コードがUTF-8になっているものとする。
サンプルプログラムの実行結果_3_1

サンプルプログラムの実行結果_3_2

4) 3)のファイルを指定し、「CSV取込」ボタンを押下する。
サンプルプログラムの実行結果_4

5) 以下のように、取り込んだCSVデータがJSON形式で画面に表示されることが確認できる。
サンプルプログラムの実行結果_5

6) また、以下のように、取り込んだCSVファイルが、uploadフォルダ下に作成されていることが確認できる。
サンプルプログラムの実行結果_6

7) ファイルを指定せず「CSV取込」ボタンを押下すると、以下のように、「取り込むCSVファイルを選択してください」というエラーメッセージが表示される。
サンプルプログラムの実行結果_7_1

サンプルプログラムの実行結果_7_2

8) CSVファイル以外を指定し「CSV取込」ボタンを押下すると、以下のように、「ファイルの拡張子がCSVファイルでありません」というエラーメッセージが表示される。
サンプルプログラムの実行結果_8_1

サンプルプログラムの実行結果_8_2

9) 0バイトのCSVファイルを指定し「CSV取込」ボタンを押下すると、以下のように、「CSVファイルが空になっています」というエラーメッセージが表示される。
サンプルプログラムの実行結果_9_1

サンプルプログラムの実行結果_9_2 サンプルプログラムの実行結果_9_3

10) UTF-8以外の文字コードをもつ場合でも、以下のように、CSVファイルのデータをJSON形式で表示できることが確認できる。
サンプルプログラムの実行結果_10_1

サンプルプログラムの実行結果_10_2 サンプルプログラムの実行結果_10_3

要点まとめ

  • Pythonのcsvパッケージやjsonパッケージを利用すると、CSVファイルのデータをJSON形式に簡単に変換することができる。