助けてください。
下記箇所(if文の後)でエラーが発生しファイルが読み込めません。ちなみに読み込みたいファイルは.DAtです。
どこが原因なのでしょう。
f = open(file_text, 'r')
TypeError: expected str, bytes or os.PathLike object, not Entry
import tkinter as tk #GUIライブラリ import tkinter.messagebox as tkm import pandas as pd #csv扱うライブラリ import datetime as dt from tkinter import filedialog now = dt.datetime.now() #時刻 time = now.strftime('%Y%m%d-%H%M%S') def OpenFileDlg(tbox): ftype = [('','*')] dir = '.' # ファイルダイアログ表示 filename = filedialog.askopenfilename(filetypes = ftype, initialdir = dir) # ファイルパスをテキストボックスに表示 tbox.insert(0, filename) def btn_click(): # ボタン関数 cc=str(txt1.get())# テキストボックスの文字をccに代入 sc=str(txt2.get()) if not len(cc) == 6 : tkm.showerror("入力エラー", "顧客番号は6桁です") return elif not len(sc) == 7 : tkm.showerror("入力エラー", "社員番号は7桁です") return elif file_text.get() == '': tkm.showerror('エラー','データファイルを指定してください') return else: tkm.showinfo("情報", "CSVを保存中です") f = open(file_text, 'r') df = f.read() root = tk.Tk() #Tkクラス生成 root.geometry('500x400+600+300') # 画面サイズ+位置 root.title('入力画面') # 画面タイトル #顧客番号 lbl1 = tk.Label(text='顧客番号',font=(u'MS ゴシック', 11, 'bold')) lbl1.place(x=85, y=145) txt1 = tk.Entry(width=30) txt1.place(x=160, y=150) btn = tk.Button(root, text='CSV出力',width=20, font=("Menlo",11),command=btn_click) btn.place(x=155, y=220) #社員番号 lbl2 = tk.Label(text='社員番号',font=(u'MS ゴシック', 11, 'bold')) lbl2.place(x=85, y=175) txt2 = tk.Entry(width=30) txt2.place(x=160, y=180) btn1 = tk.Button(root, text="終了", width=20, font=("Menlo",11),command=root.destroy) btn1.place(x=155, y=250) # Excelファイルダイアログ label = tk.Label(root, text='データファイル',font=(u'MS ゴシック', 10, 'bold')) label.place(x=100, y=95) file_text = tk.Entry(root, width=40) file_text.place(x=100, y=115) fdlg_button = tk.Button(root, text='ファイル選択', command = lambda: OpenFileDlg(file_text) ) fdlg_button.place(x=360, y=110) root.mainloop() #画面表示
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/27 03:49