Pythonを使用してExcelのデータをJSONに変換する方法はいくつかありますが、ここでは主にexcel2json
とopenpyxl
の二つの方法を紹介します。
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ファイルが生成されます。
まとめ
excel2json
とopenpyxl
のどちらを使用するかは、変換したいExcelデータの内容や形式によります。excel2json
はコードが短くて楽ですが、汎用性はそんなに高くないです。一方、openpyxl
は取得したいデータを指定して取得できるので、データが整ってなくてもPythonで何とかできます。.