0% found this document useful (0 votes)
14 views6 pages

CSV Connectivity With Gui Interface - Py

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views6 pages

CSV Connectivity With Gui Interface - Py

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 6

import tkinter

from tkinter import *


from PIL import Image,ImageTk
from tkinter import PhotoImage
import tkinter as tk
from tkinter import messagebox, ttk
import csv,pickle,os

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)
##############################################################################

###################################################################################
############################

label5=Label(base,text="Enter the Search Student to display


",width="40",bg="cyan",fg="black",font=("calibri",20,"bold"))
label5.grid(row=3,column=0)

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)

###############################################################################

###################################################################################
############################

label7=Label(base,text="Enter the Search Student to delete


",width="40",bg="cyan",fg="black",font=("calibri",20,"bold"))
label7.grid(row=4,column=0)

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)

###############################################################################

###################################################################################
############################

label9=Label(base,text="Enter the Student Name to search for update


",width="40",bg="cyan",fg="black",font=("calibri",20,"bold"))
label9.grid(row=5,column=0)

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)

label11=Label(base,text="Enter the Updated Name of Student


",width="40",bg="cyan",fg="black",font=("calibri",20,"bold"))
label11.grid(row=6,column=0)

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)
##############################################################################

##############################################Functionality ALL OPERATION


############################################################
def check_write():
if var1.get()=="" or var2.get()=="":
message_box("Student Management System","Please Enter the Name or Admin ")
else:

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)

treev = ttk.Treeview(base, selectmode ='browse') #


Using treeview widget
treev.pack(side ='right') #
Calling pack method w.r.to treeview
verscrlbar = ttk.Scrollbar(base,orient ="vertical",command = treev.yview) #
Constructing vertical scrollbar # with treeview
verscrlbar.pack(side ='right', fill ='x') #
Calling pack method w.r.to vertical # scrollbar
treev.configure(xscrollcommand = verscrlbar.set) #
Configuring treeview

treev["columns"] = ("1", "2") # Defining number of


columns
treev['show'] = 'headings' # Defining heading
treev.column("1", width = 90, anchor ='c') # Assigning the width and
anchor to the # respective columns
treev.column("2", width = 90, anchor ='se') # Assigning the width and
anchor to the # respective columns

treev.heading("1", text ="Name") # Assigning the heading


names to the # respective columns
treev.heading("2", text ="Admission No")

# Inserting the items and their


features to the # columns built Calling mainloop

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()

You might also like