PythonでExcelデータをJsonに変更しよう!
スポンサーリンク

PythonでExcelデータをJsonに変換しよう

main.pyと同じ階層にある「convert.xlsx」のデータを「converted.json」に変換するコードを記述しました!

import openpyxl
import json
from tkinter import messagebox
import json
import html

messagebox.showinfo("Excel確認", "エクセルのファイル名を\n\n"
                                 "[convert.xlsx]\n\n"
                                 "としてこのファイルと同じフォルダに格納してください。")

EXCEL_FILEPATH = None

try:
    EXCEL_FILEPATH = "convert.xlsx"
except:
    messagebox.showerror("error", "ファイルが見つかりませんでした。")

wb = openpyxl.load_workbook(EXCEL_FILEPATH)
sheet_list = wb.sheetnames
tar_sheet = sheet_list[0]
tar_wb = wb[tar_sheet]

start = messagebox.askquestion("確認", f"jsonに変換するシートは、\n\n"
                                       f"{sheet_list[0]}\n\n"
                                       f"よろしいですか?")

if start == "yes":

    # ----------------Excelデータリスト化--------------------#
    data_lists = []
    for row in tar_wb:
        data_list = []
        for data in row:
            data_list.append(data.value)
        data_lists.append(data_list)

    # ----------------key情報をdata情報を分ける--------------------#
    keys = data_lists[0]
    datas = data_lists[1:]

    number_of_keys = len(keys)
    number_of_rows = len(datas)

    # ----------------json_dataに格納--------------------#
    json_data = []
    for data in datas:
        test_json = {}
        for n in range(number_of_keys):
            try:
                test_json[keys[n]] = data[n]
            except IndexError:
                pass
        json_data.append(test_json)
    print(json_data)

    with open("converted.json", encoding="utf-8", mode="w") as file:
        json.dump(json_data, file, indent=4)





else:
    messagebox.showerror("エラー", "処理は中断されました")

ぜひ参考にしてください!また!

Twitterでフォローしよう

おすすめの記事