Pythonを使用してExcelのデータをJSONに変換する方法はいくつかありますが、ここでは主にexcel2jsonopenpyxlの二つの方法を紹介します。

excel2jsonを使う方法

excel2jsonはPythonでExcelのデータをJSONに変換するモジュールです。このモジュールの機能は限られており、Excelを読み込んでJSONファイルを作成するくらいしかないです。

from excel2json import convert_from_file

convert_from_file("変換したいexcelファイルのPATH")

上記のコードを実行すると、Excelファイルと同じディレクトリにJSONファイルが生成されます。

openpyxlを使う方法

openpyxlはPythonでExcelの操作をするためのモジュールです。このモジュールを使用すると、取得したいデータを指定して取得できるので汎用性が高いです。

import openpyxl
import json

load_book = openpyxl.load_workbook('excelファイルのPATH')
sheet = load_book['sheet名']
json_path = 'jsonファイルのPATH'

# Excelのセルを行と列で指定してデータを取得します
food_id = sheet.cell(row = 1, column = 2).value

# 取得したデータを辞書にまとめて、配列に追加します
fruits_list.append({
    "food_id": food_id,
    "name": name,
    "dietary_fiber": dietary_fiber,
    "potassium": potassium,
    "iron": iron,
    "vitamin_b1": vitamin_b1,
    "vitamin_c": vitamin_c,
})

# さっきのデータを辞書にしてjsonファイルに書き込みます
data_dict = {
    "data": "fruits",
    "fruits": fruits_list
}

with open(json_path, mode = 'w', encoding = 'utf-8') as f:
    f.write(json.dumps(data_dict, ensure_ascii = False, indent = 4))

上記のコードを実行すると、指定したパスにJSONファイルが生成されます。

まとめ

excel2jsonopenpyxlのどちらを使用するかは、変換したいExcelデータの内容や形式によります。excel2jsonはコードが短くて楽ですが、汎用性はそんなに高くないです。一方、openpyxlは取得したいデータを指定して取得できるので、データが整ってなくてもPythonで何とかできます。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です