前提・実現したいこと
Spinboxの最大値を読み込んだファイルの行数で変化させたいと思っています。読み込んだ行数はLine_no
という変数に保存したいと考えています。Spinbox
のLine_no
の値が def any(path)
内のLine_no
の値に置き換えるにはどうすればいいのでしょうか。
発生している問題・エラーメッセージ
Line_no
に読み込んだ行数を保存はできるのですが、Spinboxの最大値が10のままです。
該当のソースコード
python
1anaframe = Frame(root) 2anaframe.grid(row = 0, column=0, sticky='news') 3 4Line_no = 10 5 6def any(path): 7 8 9 #============列が一定でないcsvを読み込む定義============== 10 col_names = [0,1,2,3,4,5,6,7,8,9,10] 11 12 scvfilename = os.path.abspath(file) 13 os.chdir(os.path.abspath(os.path.dirname(os.path.abspath(file)))) 14 df = pd.read_csv(path,header = None, names =col_names , encoding = 'shift-jis', engine='python') 15 16 Line_no = len(df) 17 18 print(Line_no) 19 20section1frameh = Frame(anaframe,pady=10) 21section1frameh.pack() 22 23low = Spinbox(section1frameh,from_ = 1, to = Line_no, increment = 1) 24low.pack(side = 'left') 25 26tilde = Label(section1frameh,text = ' ~ ',font = 8) 27tilde.pack(side = 'left') 28 29high = Spinbox(section1frameh,from_ = 1, to = Line_no, increment = 1) 30high.pack(side = 'left') 31
補足
def any(path)
のpath
はファイルパスになります。
###追記(18/10/02) ※このような追記になってしまい申し訳ございません。
any(path)
に関しましては別関数でファイル参照ダイアログからcsvファイルを参照してany(path)
を呼び出しています。
python
1def reference_callback(): 2 3 4 tkinter.messagebox.showinfo('注意','CSVファイルを参照してください。') 5 global file 6 7 file = tkinter.filedialog.askopenfilename(filetypes = fTyp,initialdir = iDir) 8 if file != "" : 9 tkinter.messagebox.showinfo('インフォメーション',file) 10 print("%r"%(os.path.basename(file))) 11 print("パス%r"%file) 12 print("絶対パス%r"%(os.path.abspath(file))) 13 any(file) 14 print(Line_no_back) 15 print(dirname) 16 17 if os.path.exists(CH_settingPATH): 18 19 ifCH = tkinter.messagebox.askyesno('確認','設定の変更をしますか') 20 if ifCH == True: 21 CH_setting() 22 23 else: 24 tkinter.messagebox.showinfo('確認','設定をしてください。') 25 CH_setting() 26 else : 27 tkinter.messagebox.showinfo('エラー','選択できていません。') 28 del file 29 30
このコードの下に上記のdef any(path)
が来る形になっています。申し訳ございません
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。