。
実現したいこと
3つのCSVファイルの読み込みを行い、下記のコードからフラッシュカードを作りたいです。
下記のコードでは、1つのCSVファイル(一列目=s,二列目=k)から実行していますが、
1つのCSVファイル読み込み→実行→2つ目のCSVファイル読み込み→実行→3つ目のCSVファイル読み込み→実行
のようなことが行いたいです。
python
1import time 2import tkinter as tk 3import random 4import time 5import timeout_decorator 6import tkinter 7#pandasを読み込む 8import pandas as pd 9#input file name 10#input_file_name= r'C:\Users\ryous\test(数字)\test(仮)1.csv' 11#input_book1 = {} 12 13#xls book Open (xls, xlsxのどちらでも可能) 14for num in ['1', '2', '3']: 15 input_book1 = pd.read_csv(f'path6-{num}.csv',encoding="utf-8-sig") 16 input_book=input_book1.sample(frac=1) 17 18 a= input_book ['suji'].to_list() 19 b= input_book ['数字'].to_list() 20 21 word_len = len(a) 22 23 24 25 26 class Frame(tk.Frame): 27 def __init__(self, master=None): 28 tk.Frame.__init__(self, master) 29 self.count = random.randint(0, (word_len - 1) ) 30 #self.count = 0 31 self.e_j = 1 32 self.sleep_1 = 4 # 上段表示時間 33 self.sleep_2 = 2 # 下段表示時間 34 self.fr_t() 35 self.fr_show() 36 37 # フレーム表示 38 39 def fr_t(self): 40 self.master.geometry('800x300') # フレーム枠(よこ×たて)の大きさ 41 self.master.title('数字暗記') # タイトル名 42 self.master.resizable(0,0) # フレーム枠サイズ変更禁止 43 44 # 上段表示 45 def fr_writeA(self, m_text): 46 string = (' '* 80) 47 tk.Message(text=string, font=('Helevetica', 16), width=400).place(x=20, y=20) 48 tk.Message(text=string, font=('Helevetica', 16), width=400).place(x=20, y=50) 49 tk.Message(text=m_text, fg='black',font=('Helevetica', 16), width=400).place(x=20, y=20) 50 51 # 下段表示 52 def fr_writeB(self, m_text): 53 tk.Message(text=m_text, fg='black',font=('Helevetica', 16), width=400).place(x=20, y=50) 54 55 # 表示 56 def fr_show(self): 57 58 if self.e_j == 1: # 上段表示 59 self.fr_writeA(a[self.count]) 60 time.sleep(self.sleep_1) 61 else: # 下段表示 62 self.fr_writeB(b[self.count]) 63 time.sleep(self.sleep_2) 64 self.count += 1 65 66 self.e_j *= -1 67 if self.count == word_len: 68 self.count = 0 69 #self.count = random.randint(0, (word_len - 1) ) 70 71 72 self.after(100, self.fr_show) 73 74if __name__ == '__main__': 75 root = Frame() 76 77 #root.title('このウインドウは自動的に閉じます') 78 79 #10秒後にウインドウを閉じる 80 root.after(10000, lambda: root.destroy()) #ミリ秒 81 82 root.mainloop()
回答1件
あなたの回答
tips
プレビュー