こんにちは、のっくんです。
PythonのTkinterを使って簡単なGUIアプリケーションを作ってみました。
Pandasのデータフレームを読み込んでそれをGUI上に表示するアプリです。
出来上がったアプリはこんな感じ。
Pandasのデータフレームを表示するならJupyter Notebook上で表示すれば良いのですが、
ユーザのボタンクリックなどの動作を実装する場合はTkinterを使ってGUIにした方が良いと思います。
それではコードを順番に見ていきます。
import tkinter as tk import tkinter.ttk as ttk import pandas as pd file_name = "ranking.pkl" df = pd.read_pickle(file_name) base = tk.Tk() base.title("RankChecker") base.geometry("400x300")
予め保存しておいたピクルを読み込んでデータフレームを取得しています。
次にGUIアプリのタイトルとサイズを決めています。
TreeViewを作る部分は以下の通り。
tree = ttk.Treeview(base) # 列を3列作る tree["column"] = (1, 2, 3) tree["show"] = "headings" # ヘッダーテキスト tree.heading(1, text="検索ワード") tree.heading(2, text="ランキング(ドメイン)") tree.heading(3, text="ランキング(URL)") # 列の幅 tree.column(1, width=200) tree.column(2, width=100) tree.column(3, width=100) # データ挿入 for i in range(df.index): tree.insert("", "end", values=(df['SearchTerm'][i], df['Ranking(Domain)'][i], df['Ranking(URL)'][i])) # 設置 tree.pack(side=tk.TOP, fill=tk.BOTH, expand=1) base.mainloop()
肝はデータを挿入するところですね。
データフレームの要素を1つ1つ指定して、Treeviewに挿入していきます。
このようにfor文を使って書くと、データフレームの全部の要素をTreeviewに表示させることができます。