[Python] 205 JSON to CSVコンバータのexe化

使用頻度の高いコードはPyInstallerでexe化してツールにすることにしました。

これをマイアプリとしてアプリケーションフォルダにまとめておきます。

以下のコードでJSONファイルをCSVファイルに変換して同じフォルダに置きます。

起動に10秒程度かかりますが、とりあえず良しとします。

import pandas as pd
import sys,json
import tkinter as tk
import tkinter.font as font
from tkinter import StringVar
from tkinter import ttk

root = tk.Tk()
root.title("JSON_CSV_CONVERTER")
root.geometry("300x50")
root.configure(bg='#40E0D0')

# フォント設定
my_font = font.Font(root,family="System",size=18,weight="normal")

# フレームの作成・配置
frame = tk.Frame(root,background = '#40E0D0')
frame.grid(row=0,column=0, sticky=tk.NSEW, padx=5, pady=10)

# ラベルの作成・配置
label = tk.Label(frame,text='PATH',background = '#40E0D0',foreground = '#8b0000',font=my_font)
label.grid(row=0, column=0)

# パス入力エントリの作成・配置
entry = tk.Entry(frame,width=15,background = '#98fb98',foreground = '#8b0000',font=my_font)
entry.grid(row=0,column=1)

# 実行ボタンの配置
var_act = tk.IntVar()
act_btn = tk.Button(frame, text="実行",command= lambda:var_act.set(1),width=2,font=my_font)
act_btn.grid(row=0,column=2,padx=2)

# ファイルパスの入力を待機
act_btn.wait_variable(var_act)

# 入力したファイルパスを取得
path = entry.get()

# JSONファイルをデータフレームとして読み込む
df = pd.read_json(path,lines=True)

# 変換先のCSVファイル名を作成する
csv_file = path.split('.')[0] + '.csv'

# データフレームをCSVファイルに変換する
df.to_csv(csv_file, encoding='Shift_JIS')

root.mainloop()