hope IP Employee Project
hope IP Employee Project
AISSCE-2023-24
A Project Report
On
Employee Management
Submitted by:
Board Roll No. : ______________
This project report is based on the topic “Employee Management ". We have used
Python as Front end and CSV as Backend for the development of this application. This
We have gathered the information through books, internet, friends, teachers and
other resources to develop it and then learnt a lot while developing it.
This project report based on the topic “Employee Management " is a part of AISSCE
We worked on this project report as a group. There are many people whom I want to
First and foremost I would like to thank our school management for giving us such a
well equipped and modern lab to learn all the basic and advanced features of Python and
MySql.
I would also like to thank my parents and friends who helped me and the Almighty
This Project Report is prepared under the guidance and supervision of our computer
faculty during the session 2023-24. In this project report Python is used as a Front End and
Date: _______________________
➢ SOURCE CODE
➢ OUTPUT SCREEN
➢ BIBLIOGRAPHY
Introduction to Front End and Back End Concept
The user interface that the user sees and which is responsible for interac6ng with the
user. Front end is responsible for receiving user’s queries, request, etc. and passing it
over the back-end. Frontend basically includes graphical user interfaces and the input
forms, through which user interacts with the system.
The Backend
The backend is the end that is not visible but that processes the user-requests as
received by the frontend. The Back-end handles all database access through one or
more servers. It is responsible for processing data for user’s quires and requests.
Hardware & Software Requirement
Hardware Requirement
PC/Laptop/MacBook with
Intel core/i3/i5/i7 or any equivalent
With at least 2 GB RAM
10 MB free space on Hard Disk
LCD/LED
and/or
MS- EXCEL
OR
OPEN OFFICE CALC
CSV FILE
EMPLOYEE.CSV
EMPNO NAME GENDER BASIC DA HRA CCA PF TOTAL NET
1 JOHN M 5000 2500 1500 500 600 10100 9500
print(tabulate(df,showindex=False,headers=['EMPNO','NAME','GENDER','BASIC','DA','
HRA','CCA','PF','TOTAL','NET'],tablefmt='pretty'))
elif choice == 2:
print("\nEmployees Data Name - Wise :\n\n")
df=pd.read_csv('D:\\Ichhit\\2023-24\\XII IP\\Projects IP\
\hope_employees.csv',usecols =
['NAME','GENDER','BASIC','DA','HRA','CCA','PF','TOTAL','NET'])
df = df.sort_values(by='NAME')
print(tabulate(df,showindex=False,headers=['NAME','GENDER','BASIC','DA','HRA','CC
A','PF','TOTAL','NET'],tablefmt='pretty'))
elif choice == 3:
print("\nFirst N Rows \n\n")
df=pd.read_csv('D:\\Ichhit\\2023-24\\XII IP\\Projects IP\
\hope_employees.csv')
df = df.sort_values(by='EMPNO')
nth = int(input("How many rows to display? : "))
print(tabulate(df.head(nth),showindex=False,headers=['EMPNO','NAME','GENDER','BAS
IC','DA','HRA','CCA','PF','TOTAL','NET'],tablefmt='pretty'))
elif choice == 4:
print("\nLast N Rows \n\n")
df=pd.read_csv('D:\\Ichhit\\2023-24\\XII IP\\Projects IP\
\hope_employees.csv')
df = df.sort_values(by='EMPNO')
nth = int(input("How many rows to display? : "))
print(tabulate(df.tail(nth),showindex=False,headers=['EMPNO','NAME','GENDER','BASI
C','DA','HRA','CCA','PF','TOTAL','NET'],tablefmt='pretty'))
elif choice == 5:
print("\nDisplay employee with highest Salary :\n\n")
df=pd.read_csv('D:\\Ichhit\\2023-24\\XII IP\\Projects IP\
\hope_employees.csv')
df = df.sort_values(by='NET')
print(tabulate(df.tail(1),showindex=False,headers=['EMPNO','NAME','GENDER','BASIC',
'DA','HRA','CCA','PF','TOTAL','NET'],tablefmt='pretty'))
elif choice==6:
print("\nDisplay employee with highest Salary :\n\n")
df=pd.read_csv('D:\\Ichhit\\2023-24\\XII IP\\Projects IP\
\hope_employees.csv')
df = df.sort_values(by='NET')
print(tabulate(df.head(1),showindex=False,headers=['EMPNO','NAME','GENDER','BASI
C','DA','HRA','CCA','PF','TOTAL','NET'],tablefmt='pretty'))
elif choice==7:
print('Exit to main menu............')
break
else:
print('Invalid Choice, Retry 1/2/3/4/5/6/7')
elif choice==2:
while True:
print('Data Visualization')
print('\n\t1. Plot Line Chart (Name and Basic Salary)')
print('\n\t2. Plot Bar Chart Vertical(Name and Basic Salary)')
print('\n\t3. Plot Bar Horizontal Chart (Name and Basic Salary)')
print('\n\t4. Plot Histogram (Basic Salary)')
print('\n\t5. Exit\n')
choic=int(input('Select your Choice [1-4] : '))
if choic==1:
print('Line Chart')
df=pd.read_csv('D:\\Ichhit\\2023-24\\XII IP\\Projects IP\
\hope_employees.csv')
df['NAME'] =
['JOHN','MOHAN','SOHAN','RADHA','GEETA','SIMRAN','PRIYA','SIMMI','PREM','AS
HWIN']
NAME=df["NAME"]
BASIC=df["BASIC"]
plt.ylabel("Basic Salary ----------->")
plt.xlabel("Name -------->")
plt.title("*** Name and Basic Salary ***")
plt.plot(NAME,BASIC, color='r')
plt.grid()
plt.savefig('emp_line.pdf')
plt.show()
elif choic==2:
print('Bar Chart')
df=pd.read_csv('D:\\Ichhit\\2023-24\\XII IP\\Projects IP\
\hope_employees.csv')
df['NAME'] =
['JOHN','MOHAN','SOHAN','RADHA','GEETA','SIMRAN','PRIYA','SIMMI','PREM','AS
HWIN']
NAME=df["NAME"]
BASIC=df["BASIC"]
plt.ylabel("BASIC")
plt.title("*** Name and Basic Salary ***")
plt.bar(NAME,BASIC, color='r')
plt.grid()
plt.savefig('emp_bar.pdf')
plt.show()
elif choic==3:
print('Bar Chart')
df=pd.read_csv('D:\\Ichhit\\2023-24\\XII IP\\Projects IP\
\hope_employees.csv')
df['NAME'] =
['JOHN','MOHAN','SOHAN','RADHA','GEETA','SIMRAN','PRIYA','SIMMI','PREM','AS
HWIN']
NAME=df["NAME"]
BASIC=df["BASIC"]
plt.xlabel("Basic Salary")
plt.title("Name and Basic Salary")
plt.barh(NAME,BASIC, color='r')
plt.grid()
plt.savefig('emp_barh.pdf')
plt.show()
elif choic==4:
print('Histogram')
df=pd.read_csv('D:\\Ichhit\\2023-24\\XII IP\\Projects IP\
\hope_employees.csv')
df['NAME'] = ['JOHN', 'MOHAN','SOHAN','RADHA','GEETA',
'SIMRAN','PRIYA','SIMMI','PREM','ASHWIN']
NAME=df["NAME"]
BASIC=df["BASIC"]
plt.title("Name and Basic Salary")
plt.hist(BASIC, color='r')
plt.grid()
plt.savefig('emp_hist.pdf')
plt.show()
elif choic==5:
print('Exit to main menu........')
break
else:
print('Invalid choice')
elif choice==3:
while True:
print('Data Operations')
print('\n\t1. Add a row to Dataframe')
print('\n\t2. Remove a row to Dataframe')
print('\n\t3. Add a Column to Dataframe')
print('\n\t4. Remove a Column to Dataframe')
print('\n\t5. Exit\n')
choic=int(input('Select your Choice [1-5] : '))
if choic==1:
df=pd.read_csv('D:\\Ichhit\\2023-24\\XII IP\\Projects IP\
\hope_employees.csv')
EMPNO = int(input('Employee No : '))
NAME= input('Employee Name : ')
GENDER = input('Gender [M/F/T] : ')
BASIC= int(input('Basic Salary : '))
DA=.50*BASIC
HRA=.30*BASIC
CCA=.10*BASIC
PF=.12*BASIC
TOTAL=BASIC + DA + CCA + PF
NET = TOTAL - PF
cr=df['EMPNO'].count()
df1=pd.DataFrame({"EMPNO":EMPNO,"NAME":NAME,"GENDER":GENDER,
"BASIC":BASIC,"DA":DA,"HRA":HRA, "CCA":CCA,"PF":PF,"TOTAL":TOTAL,
"NET":NET}, index=[cr])
df=df.append(df1)
print(tabulate(df,showindex=False,headers=['EMPNO','NAME','GENDER','BASIC','DA','
HRA','CCA','PF','TOTAL','NET'],tablefmt='pretty'))
print('Record added Successfully..............')
elif choic==2:
df=pd.read_csv('D:\\Ichhit\\2023-24\\XII IP\\Projects IP\
\hope_employees.csv')
print(tabulate(df,showindex=False,headers=['EMPNO','NAME','GENDER','BASIC','DA','
HRA','CCA','PF','TOTAL','NET'],tablefmt='pretty'))
r=int(input("Enter the Employee Number to be removed : "))
df= df.drop(r-1)
print(tabulate(df,showindex=False,headers=['EMPNO','NAME','GENDER','BASIC','DA','
HRA','CCA','PF','TOTAL','NET'],tablefmt='pretty'))
print('Record deleted Successfully..............')
elif choic==3:
print('Add a Column')
df=pd.read_csv('D:\\Ichhit\\2023-24\\XII IP\\Projects IP\
\hope_employees.csv')
print("Add Column DEPARTMENT : ")
df['DEPARTMENT']=['HR','SALES','FINANCE','HR','SALES','FINANCE','HR','SALES','
FINANCE','SALES']
print(tabulate(df,headers=['EMPNO','NAME','GENDER','BASIC','DA','HRA','CCA','PF','T
OTAL','NET','DEPARTMENT'],tablefmt='pretty'))
print('Column added Successfully..............')
elif choic==4:
print('Remove a Column')
df=pd.read_csv('D:\\Ichhit\\2023-24\\XII IP\\Projects IP\
\hope_employees.csv')
C=input("Enter the Column Name to remove : ")
C=C.upper()
df=df.drop(C,axis=1)
print(tabulate(df,tablefmt='pretty'))
print('Column removed Successfully..............')
elif choic==5:
print('Exit to main menu........')
break
else:
print('Invalid choice')
elif choice==4:
print('Exit from menu........')
break
else:
print('Invalid choice')
OUTPUT
SCREENS
Enter User Name : Ichhit
Enter Password : sharma
Welcome to EMPLOYEES MANAGEMENT SYSTEM
*** Employees Data Analysis Project ***
1. Data Analysis
2. Data Visualization
3. Data Operations
4. Exit
Select your Choice [1-4] : 1
*** EMPLOYEES MANAGEMENT SYSTEM ***
**************************************************
1. Show Employees Data
2. Show Data Name-Wise
3. Show first nth records
4. Show last nth records
5. Display employee with highest Salary
6. Display employee with lowest Salary
7. For Exit the program
Enter Your Choice [1-7] : 1
Employees Data :
*** EMPLOYEES MANAGEMENT SYSTEM ***
**************************************************
1. Show Employees Data
2. Show Data Name-Wise
3. Show first nth records
4. Show last nth records
5. Display employee with highest Salary
6. Display employee with lowest Salary
7. For Exit the program
Enter Your Choice [1-8] : 2
Employees Data Name - Wise :
*** EMPLOYEES MANAGEMENT SYSTEM ***
**************************************************
1. Show Employees Data
2. Show Data Name-Wise
3. Show first nth records
4. Show last nth records
5. Display employee with highest Salary
6. Display employee with lowest Salary
7. For Exit the program
Enter Your Choice [1-8] : 3
First N Rows
How many rows to display? : 4
+-------+-------+--------+-------+------+------+-----+-----+-------+------+
| EMPNO | NAME | GENDER | BASIC | DA | HRA | CCA | PF | TOTAL | NET |
+-------+-------+--------+-------+------+------+-----+-----+-------+------+
| 1 | JOHN | M | 5000 | 2500 | 1500 | 500 | 600 | 10100 | 9500 |
| 2 | MOHAN | M | 3000 | 1500 | 900 | 300 | 360 | 6060 | 5700 |
| 3 | SOHAN | M | 2000 | 1000 | 600 | 200 | 240 | 4040 | 3800 |
| 4 | RADHA | F | 5000 | 2500 | 1500 | 500 | 600 | 10100 | 9500 |
+-------+-------+--------+-------+------+------+-----+-----+-------+------+
*** EMPLOYEES MANAGEMENT SYSTEM ***
**************************************************
1. Show Employees Data
2. Show Data Name-Wise
3. Show first nth records
4. Show last nth records
5. Display employee with highest Salary
6. Display employee with lowest Salary
7. For Exit the program
Enter Your Choice [1-8] : 4
Last N Rows
How many rows to display? : 3
+-------+--------+--------+-------+------+------+-----+-----+-------+-------+
| EMPNO | NAME | GENDER | BASIC | DA | HRA | CCA | PF | TOTAL | NET |
+-------+--------+--------+-------+------+------+-----+-----+-------+-------+
| 8 | SIMMI | F | 8000 | 4000 | 2400 | 800 | 960 | 16160 | 15200 |
| 9 | PREM | M | 5000 | 2500 | 1500 | 500 | 600 | 10100 | 9500 |
| 10 | ASHWIN | M | 6000 | 3000 | 1800 | 600 | 720 | 12120 | 11400 |
+-------+--------+--------+-------+------+------+-----+-----+-------+-------+
*** EMPLOYEES MANAGEMENT SYSTEM ***
**************************************************
1. Show Employees Data
2. Show Data Name-Wise
3. Show first nth records
4. Show last nth records
5. Display employee with highest Salary
6. Display employee with lowest Salary
7. For Exit the program
Enter Your Choice [1-8] : 5
Display employee with highest Salary :
+-------+-------+--------+-------+------+------+-----+-----+-------+-------+
| EMPNO | NAME | GENDER | BASIC | DA | HRA | CCA | PF | TOTAL | NET |
+-------+-------+--------+-------+------+------+-----+-----+-------+-------+
| 8 | SIMMI | F | 8000 | 4000 | 2400 | 800 | 960 | 16160 | 15200 |
+-------+-------+--------+-------+------+------+-----+-----+-------+-------+
*** EMPLOYEES MANAGEMENT SYSTEM ***
**************************************************
1. Show Employees Data
2. Show Data Name-Wise
3. Show first nth records
4. Show last nth records
5. Display employee with highest Salary
6. Display employee with lowest Salary
7. For Exit the program
Enter Your Choice [1-8] : 6
Display employee with lowest Salary :
+-------+-------+--------+-------+------+-----+-----+-----+-------+------+
| EMPNO | NAME | GENDER | BASIC | DA | HRA | CCA | PF | TOTAL | NET |
+-------+-------+--------+-------+------+-----+-----+-----+-------+------+
| 3 | SOHAN | M | 2000 | 1000 | 600 | 200 | 240 | 4040 | 3800 |
+-------+-------+--------+-------+------+-----+-----+-----+-------+------+
*** EMPLOYEES MANAGEMENT SYSTEM ***
**************************************************
1. Show Employees Data
2. Show Data Name-Wise
3. Show first nth records
4. Show last nth records
5. Display employee with highest Salary
6. Display employee with lowest Salary
7. For Exit the program
Enter Your Choice [1-8] : 7
Exit to Main Menu……….
*** Employees Data Analysis Project ***
1. Data Analysis
2. Data Visualization
3. Data Operations
4. Exit
Select your Choice [1-4] : 2
Data Visualization
1. Plot Line Chart (Name and Basic Salary)
2. Plot Bar Chart Vertical (Name and Basic Salary)
3. Plot Bar Horizontal Chart (Name and Basic Salary)
4. Plot Histogram (Basic Salary)
5. Exit
Select your Choice [1-4] : 1
Line Chart
Data Visualization
1. Plot Line Chart (Name and Basic Salary)
2. Plot Bar Chart Vertical(Name and Basic Salary)
3. Plot Bar Horizontal Chart (Name and Basic Salary)
4. Plot Histogram (Basic Salary)
5. Exit
Select your Choice [1-4] : 2
Bar Chart
Data Visualization
1. Plot Line Chart (Name and Basic Salary)
2. Plot Bar Chart Vertical(Name and Basic Salary)
3. Plot Bar Horizontal Chart (Name and Basic Salary)
4. Plot Histogram (Basic Salary)
5. Exit
Select your Choice [1-4] : 3
Bar Chart
Data Visualization
1. Plot Line Chart (Name and Basic Salary)
2. Plot Bar Chart Vertical (Name and Basic Salary)
3. Plot Bar Horizontal Chart (Name and Basic Salary)
4. Plot Histogram (Basic Salary)
5. Exit
Select your Choice [1-4]: 4
Histogram
Welcome to EMPLOYEES MANAGEMENT SYSTEM
*** Employees Data Analysis Project ***
1. Data Analysis
2. Data Visualization
3. Data Operations
4. Exit
Select your Choice [1-4] : 3
Data Operations
1. Add a row to Dataframe
2. Remove a row to Dataframe
3. Add a Column to Dataframe
4. Remove a Column to Dataframe
5. Exit
Select your Choice [1-5] : 1
Employee No : 101
Employee Name : Rajesh
Gender [M/F/T] : M
Basic Salary : 60000