ExcelデータをJSONに変換することは、データを異なるアプリケーションやWebサービスで利用する際に非常に役立ちます。Pythonは、その多くのライブラリと機能を使って、ExcelデータをJSONに変換することができます。ここでは、PythonでExcelデータをJSONに変換する方法を説明します。
1. Excelファイルを準備する
まず、Excelファイルを用意してください。この例では、以下のようなデータが含まれたサンプルExcelファイルを使用します。
名前 | 年齢 | 性別 |
---|---|---|
John | 25 | 男性 |
Mary | 30 | 女性 |
Steve | 35 | 男性 |
Lisa | 40 | 女性 |
2. 必要なライブラリをインストールする
PythonでExcelファイルを読み込むには、OpenPyXLというライブラリを使用します。OpenPyXLをインストールするには、以下のコマンドを実行します。
pip install openpyxl
また、JSONを生成するには、Pythonに標準で組み込まれているjsonライブラリを使用します。jsonライブラリをインポートするには、以下のようにします。
import json
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に変換することができます。方法を下記の記事に紹介しています。
7. JSONからExcelへの変換
JSONデータからExcelへの変換については、下記の記事で紹介しています。
8. まとめ
以上が、Pythonプログラムを使用してExcelデータをJSONに変換する方法です。ExcelデータをJSONに変換することで、異なるアプリケーションやWebサービスで利用する際に非常に便利です。また、PythonのOpenPyXLライブラリを使用することで、簡単かつ効率的にExcelデータをJSONに変換することができます。これらのプログラムはPythonの基本的な文法とライブラリで実装することができます。Pythonの基礎学習には下記のようなサイトの利用が有効です。