Python

【Python/tkinter】ファイルを読み込んで中身をテキストボックスに出力するGUIツールを作ってみた

この記事は約5分で読めます。

 

前回はPythonのGUIツール作成ライブラリであるTKinterを使ったファイル選択処理を実装する方法について紹介しました。

 

今回はそれの続きでファイル選択処理で読み込んだテキストファイル(.txt)をTkinter上に出力する方法について紹介したいと思います

 

前回の記事

【Python/tkinter】GUIツールでファイル選択処理を実装する

 

Tkinterでテキストファイル出力ツールを作る

 

# Tkinterのライブラリを取り込む
import tkinter
from tkinter import *
from tkinter import ttk
from tkinter import filedialog
from tkinter import messagebox
import os


# ファイルの参照処理
def click_refer_button():
    fTyp = [("","*")]
    iDir = os.path.abspath(os.path.dirname(__file__))
    filepath = filedialog.askopenfilename(filetypes = fTyp, initialdir = iDir)
    file_path.set(filepath)


# 出力処理
def click_export_button():
    path = file_path.get()
    if path[-4:] == '.txt':
        f = open(path, encoding="utf-8")
        text_data = f.read()
        textBox.insert(END, text_data)
    else:
        textBox.insert(END, '\nファイルがテキストファイルではありません')

if __name__ == '__main__':
    # ウィンドウを作成
    root = tkinter.Tk()
    root.title("hello world") # アプリの名前
    root.geometry("500x500") # アプリの画面サイズ

    # Frame1の作成
    frame1 = ttk.Frame(root, padding=10)
    frame1.grid()

    # 「ファイル」ラベルの作成
    s = StringVar()
    s.set('ファイル名:')
    label1 = ttk.Label(frame1, textvariable=s)
    label1.grid(row=0, column=0)

    # 参照ファイルのパスを表示するテキストボックスの作成
    file_path = StringVar()
    filepath_entry = ttk.Entry(frame1, textvariable=file_path, width=50)
    filepath_entry.grid(row=0, column=1)

    # 参照ボタンの作成
    refer_button = ttk.Button(frame1, text=u'参照', command=click_refer_button)
    refer_button.grid(row=0, column=2)

    # Frame2の作成
    frame2 = ttk.Frame(root, padding=10)
    frame2.grid()

    # テキスト出力ボタンの作成
    export_button = ttk.Button(frame2, text='ファイルの中身を出力', command=click_export_button, width=20)
    export_button.grid(row=0, column=0)

    # テキスト出力ボックスの作成
    textboxname = StringVar()
    textboxname.set('\n\n出力内容 ')
    label3 = ttk.Label(frame2, textvariable=textboxname)
    label3.grid(row=1, column=0)
    textBox = Text(frame2, width=50)
    textBox.grid(row=2, column=0)

    # ウィンドウを動かす
    root.mainloop()

 

 

実行すると↓のような画面が起動します

 

 

 

 

これをいろいろと応用すれば,csvの中身を読み込んでDBにインサートしたり、webスクレピングした内容を出力するツールとか変換ツールが作れるのではないでしょうか

 

関連記事:【Python】Tkinterで定期実行処理を実装する

関連記事:【Python】Tkinterで現在時刻を表示する機能を実装する

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

  1. […] ミナピピンの研究室【Python/tkinter】ファイルを読み込んで中身をテキストボックスに出力するGUIツー…https://tkstock.site/2020/02/11/python-tkinter-%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab-%e8%aa%ad%e3%81%bf%e8%be%bc%e […]

  2. […] 関連記事:【Python/tkinter】ファイルを読み込んで中身をテキストボックスに出力するGUIツールを作ってみた […]

  3. […] 関連記事:【Python/tkinter】ファイルを読み込んで中身をテキストボックスに出力するGUIツールを作ってみた […]

タイトルとURLをコピーしました