PythonでExcelデータをJSONに変換する方法(OpenPyXL)

ExcelデータをJSONに変換することは、データを異なるアプリケーションやWebサービスで利用する際に非常に役立ちます。Pythonは、その多くのライブラリと機能を使って、ExcelデータをJSONに変換することができます。ここでは、PythonExcelデータをJSONに変換する方法を説明します。

1. Excelファイルを準備する

まず、Excelファイルを用意してください。この例では、以下のようなデータが含まれたサンプルExcelファイルを使用します。

名前 年齢 性別
John 25 男性
Mary 30 女性
Steve 35 男性
Lisa 40 女性

2. 必要なライブラリをインストールする

PythonExcelファイルを読み込むには、OpenPyXLというライブラリを使用します。OpenPyXLをインストールするには、以下のコマンドを実行します。

pip install openpyxl

pydocument.hatenablog.com

また、JSONを生成するには、Pythonに標準で組み込まれているjsonライブラリを使用します。jsonライブラリをインポートするには、以下のようにします。

import json

pydocument.hatenablog.com

3. Excelファイルを読み込む

OpenPyXLを使用して、Excelファイルを読み込みます。以下のコードを使用して、Excelファイルを読み込み、ワークシートを取得します。

from openpyxl import load_workbook

# Excelファイルを読み込む
workbook = load_workbook(filename="sample.xlsx")

# ワークシートを取得する
sheet = workbook.active

4. ExcelデータをJSONに変換する

ExcelデータをJSONに変換するには、Excelファイルの各行を反復処理し、データを辞書に格納し、json.dumps()関数を使用してJSONに変換します。以下のコードを使用して、ExcelデータをJSONに変換します。

# ExcelデータをJSONに変換する
data = []
for row in sheet.iter_rows(min_row=2, values_only=True):
    record = {
        "名前": row[0],
        "年齢": row[1],
        "性別": row[2],
    }
    data.append(record)

json_data = json.dumps(data, ensure_ascii=False)
print(json_data)

このコードでは、iter_rows()関数を使用して、Excelファイルの各行を反復処理し、名前、年齢、性別のデータを辞書に格納します。そして、dataリストに辞書を追加します。最後に、json.dumps()関数を使用して、dataリストをJSON形式の文字列に変換します。ensure_ascii=Falseを指定することで、日本語などの非ASCII文字もエスケープせずに出力します。

5. 実行結果

上記のコードを実行すると、以下のようなJSONデータが出力されます。

[
    {"名前": "John", "年齢": 25, "性別": "男性"},
    {"名前": "Mary", "年齢": 30, "性別": "女性"},
    {"名前": "Steve", "年齢": 35, "性別": "男性"},
    {"名前": "Lisa", "年齢": 40, "性別": "女性"}
]

このJSONデータは、Excelファイルのデータを正しく変換しています。

なお、上記のコードでは、最初の行をヘッダー行として扱っています。ヘッダー行がない場合は、min_rowを1に設定して、最初の行を読み飛ばすように変更してください。

6. OpenPyXLを利用する以外の方法

Pandasを利用してExcelデータをJSONに変換することができます。方法を下記の記事に紹介しています。

pydocument.hatenablog.com

7. JSONからExcelへの変換

JSONデータからExcelへの変換については、下記の記事で紹介しています。

pydocument.hatenablog.com

pydocument.hatenablog.com

8. まとめ

以上が、Pythonプログラムを使用してExcelデータをJSONに変換する方法です。ExcelデータをJSONに変換することで、異なるアプリケーションやWebサービスで利用する際に非常に便利です。また、PythonのOpenPyXLライブラリを使用することで、簡単かつ効率的にExcelデータをJSONに変換することができます。これらのプログラムはPythonの基本的な文法とライブラリで実装することができます。Pythonの基礎学習には下記のようなサイトの利用が有効です。

click.linksynergy.com

click.linksynergy.com

click.linksynergy.com