Я хочу создать приложение для меню студентов в файле tkinter и csv.
Я пытаюсь отобразить данные в
ListBox(list.students)
, но выдает ошибку.
students_fields = ['roll', 'name', 'age', 'DOB', 'State','Country']
student_database = 'students.csv'
class Main(object):
def __init__(self, master):
self.master = master
def view_students(self):
global student_fields
global student_database
with open(student_database, "r") as f:
reader = csv.reader(f)
count = 0
for row in reader:
for item in row:
self.list_student.insert(str(item[0]+item[1]))
count+=1
#main frame
mainFrame = Frame(self.master)
mainFrame.pack()
###############################################tabs#############################################
#############tab1###############
self.tabs = ttk.Notebook(centerLeftFrame, width=900, height=660)
self.tabs.pack()
self.tab1 = ttk.Frame(self.tabs)
self.tabs.add(self.tab1, text='Students List', compound=LEFT)
Здесь я хочу показать данные только студентов (имя студента):
# list soils
self.list_student = Listbox(self.tab1, width=40, height=30, bd=5, font='times 12 bold')
self.sb = Scrollbar(self.tab1, orient=VERTICAL)
self.list_student.grid(row=0, column=0, padx=(10, 0), pady=10, sticky=N)
self.sb.config(command=self.list_student.yview)
self.list_student.config(yscrollcommand=self.sb.set)
self.sb.grid(row=0, column=0, sticky=N + S + E)
view_students(self)
def main():
root = Tk()
app = Main(root)
root.title("Student Menu")
root.geometry("1350x750+350+200")
root.mainloop()
if __name__ == '__main__':
main()
А это данные CSVFile:
введите описание изображения здесь