CSV Connectivity With Gui Interface - Py
CSV Connectivity With Gui Interface - Py
base=Tk()
base.geometry("800x800")
base.title("Student MIS")
base.config(bg="cyan")
global message1
global message2
def message_box(message1,message2):
root = tk.Tk()
root.withdraw()
# Display a simple message box
messagebox.showinfo(message1,message2)
##############################################Name#################################
###########################
label1=Label(base,text="Name of
Student",width="40",bg="cyan",fg="black",font=("calibri",20,"bold"))
label1.grid(row=1,column=0)
label2=Label(base,text=":",width="40",bg="cyan",fg="black",font=("calibri",20,"bold
"))
label2.grid(row=1,column=1)
var1=StringVar()
entry1=Entry(base,textvariable=var1,bg="yellow",fg="red",highlightcolor="green",hig
hlightthickness=2,highlightbackground="pink")
entry1.grid(row=1,column=2)
##############################################################################
##############################################Admission Number
############################################################
label3=Label(base,text="Admission Number of
Student",width="40",bg="cyan",fg="black",font=("calibri",20,"bold"))
label3.grid(row=2,column=0)
label4=Label(base,text=":",width="40",bg="cyan",fg="black",font=("calibri",20,"bold
"))
label4.grid(row=2,column=1)
var2=StringVar()
entry2=Entry(base,textvariable=var2,bg="yellow",fg="red",highlightcolor="green",hig
hlightthickness=2,highlightbackground="pink")
entry2.grid(row=2,column=2)
##############################################################################
###################################################################################
############################
label6=Label(base,text=":",width="40",bg="cyan",fg="black",font=("calibri",20,"bold
"))
label6.grid(row=3,column=1)
var3=StringVar()
entry3=Entry(base,textvariable=var3,bg="yellow",fg="red",highlightcolor="green",hig
hlightthickness=2,highlightbackground="pink")
entry3.grid(row=3,column=2)
###############################################################################
###################################################################################
############################
label8=Label(base,text=":",width="40",bg="cyan",fg="black",font=("calibri",20,"bold
"))
label8.grid(row=4,column=1)
var4=StringVar()
entry4=Entry(base,textvariable=var4,bg="yellow",fg="red",highlightcolor="green",hig
hlightthickness=2,highlightbackground="pink")
entry4.grid(row=4,column=2)
###############################################################################
###################################################################################
############################
label10=Label(base,text=":",width="40",bg="cyan",fg="black",font=("calibri",20,"bol
d"))
label10.grid(row=5,column=1)
var5=StringVar()
entry5=Entry(base,textvariable=var5,bg="yellow",fg="red",highlightcolor="green",hig
hlightthickness=2,highlightbackground="pink")
entry5.grid(row=5,column=2)
label12=Label(base,text=":",width="40",bg="cyan",fg="black",font=("calibri",20,"bol
d"))
label12.grid(row=6,column=1)
var6=StringVar()
entry6=Entry(base,textvariable=var6,bg="yellow",fg="red",highlightcolor="green",hig
hlightthickness=2,highlightbackground="pink")
entry6.grid(row=6,column=2)
##############################################################################
l=[var1.get(),var2.get()]
f=open("student.csv","a",newline="")
csv_writer=csv.writer(f)
csv_writer.writerow(l)
f.close()
message_box("Student Management ", "Added RECORD")
def check_read():
# Creating tkinter base
base = tk.Tk()
#base.geometry("100x100")
base.resizable(width = 1, height = 1)
# style()
style = ttk.Style(base)
style.theme_use("default") # set theam to clam default, alt,calm
style.configure("Treeview", background="yellow",fieldbackground="black",
foreground="white",rowheight=25)
style.map('Treeview',background=[('selected','green')])
style.configure('Treeview.Heading', background="PowderBlue")
my_tree=ttk.Treeview(base)
f=open("student.csv","r",newline="")
csv_reader=csv.reader(f)
for i in csv_reader:
treev.insert(parent="",index=tk.END, values=(i[0], i[1])) #
Insert some data in table
f.close()
base.mainloop() # Run the
main loop
###################################################################################
#####################
def check_search():
if var3.get()=="":
message_box("Student Management System","Please Enter the Name ")
else:
f = open('student.csv', 'r')
csvreader = csv.reader(f)
csvreader_list = list(csvreader)
# print(csvreader_list)
tv = ttk.Treeview(base, columns=('col_1', 'col_2'), show='headings')
tv.column('col_1', minwidth=0, width=100,anchor='c')
tv.column('col_2', minwidth=0, width=100,anchor='c')
tv.heading('col_1', text='Name')
tv.heading('col_2', text='Admission No')
tv.grid(row=12,column=0)
def search():
tv.delete(*tv.get_children())
word=var3.get()
count=0
if var3.get():
for (i, n) in csvreader_list:
if word in i:
tv.insert('', 'end', values=(i,n))
count+=1
message_box("Number of Record ",count)
if count==0:
message_box("Student Management System", "NO RECORD FOUND")
searchbutton=tk.Button(base,text="Search",fg="black",command=search,anchor="center"
,justify=CENTER)
searchbutton.grid(row=13,column=0)
def check_delete():
if var4.get()=="":
message_box("Student Management System","Please Enter the Name")
else:
listt_rec_after_del=[]
f=open("student.csv","r",newline="")
csv_reader=csv.reader(f)
count=0
for i in csv_reader:
if i[0]==var4.get():
count+=1
if i[0]!=var4.get():
listt_rec_after_del.append(i)
if count==0:
message_box("Student Management System", "NO RECORD FOUND")
f.close()
f=open("student.csv","w",newline="")
csv_writer=csv.writer(f)
csv_writer.writerows(listt_rec_after_del)
message_box("Title", "RECORD DELETED")
f.close()
def check_update():
if var5.get()=="" or var6.get()=="":
message_box("Student Management System","Please Enter the Name to search &
update ")
else:
listt_rec_after_update=[]
f=open("student.csv","r",newline="")
csv_reader=csv.reader(f)
count=0
for i in csv_reader:
if i[0]==var5.get():
new_name=var6.get()
count+=1
listt_rec_after_update.append([new_name,i[1]])
else:
listt_rec_after_update.append([i[0],i[1]])
if count==0:
message_box("Student Management System", "NO RECORD FOUND")
f.close()
f=open("student.csv","w",newline="")
csv_writer=csv.writer(f)
csv_writer.writerows(listt_rec_after_update)
f.close()
message_box("Enter Data", "Updated RECORD")
def check_delete_all():
os.remove("student.csv")
f=open("student.csv","w",newline="")
csv_writer=csv.writer(f)
f.close()
message_box("Ti", "Delete All RECORD")
def reset():
var1.set('')
var2.set('')
var3.set('')
var4.set('')
var5.set('')
var6.set('')
b1=Button(base,text="ADD",width=20,command=check_write,bg="yellow",fg="red",activeb
ackground="blue")
b1.grid(row=8,column=0)
b2=Button(base,text="VIEW",width=20,command=check_read,bg="yellow",fg="red",activeb
ackground="blue")
b2.grid(row=8,column=1)
b3=Button(base,text="SEARCH",width=20,command=check_search,bg="yellow",fg="red",act
ivebackground="blue")
b3.grid(row=9,column=0)
b4=Button(base,text="UPDATE",width=20,command=check_update,bg="yellow",fg="red",act
ivebackground="blue")
b4.grid(row=9,column=1)
b5=Button(base,text="DELETE",width=20,command=check_delete,bg="yellow",fg="red",act
ivebackground="blue")
b5.grid(row=10,column=0)
b6=Button(base,text="DELETE Entire File
",width=20,command=check_delete_all,bg="yellow",fg="red",activebackground="blue")
b6.grid(row=10,column=1)
b7=Button(base,text="RESET",width=20,command=reset,bg="yellow",fg="red",activebackg
round="blue")
b7.grid(row=11,column=0)
b8=Button(base,text="QUIT",width=20,command=base.destroy,bg="yellow",fg="red",activ
ebackground="blue")
b8.grid(row=11,column=1)
##############################################################################
mainloop()