0% found this document useful (0 votes)
11 views12 pages

import pandas as pd

Uploaded by

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

import pandas as pd

Uploaded by

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

import pandas as pd

import matplotlib.pyplot as plt

import random

def menu():

print("*****************************************************************************
***")

print(" RAILWAY RESERVATION SYSTEM Project")

print("*****************************************************************************
***")

print("0. Know about the Project")

print("1. Display Train Details")

print("2. Adding New Train Details")

print("3. Schedule of ALL Trains")

print("4. Total Number of Trains")

print("5. Sorting Train by Train Number")

print("6. Train Fare")

print("7. Train Enquiry")

print("8. Book Ticket")

print("9. Cancel Ticket")

print("10. Delay in Arrival")

print("11. Display Passengers Details")

print("12. Adding new passengers details in file")

print("13. Ticket Reservation")

print("14. Show Status of the Ticket")

print("15. Top and Bottom Records from passenger")

print("16. Data Visualisation Menu")

print("17. Exit")

print("*****************************************************************************
***")
def admin_password():

password=input("Enter your password:")

if password=='Class12IP':

print('Access granted')

else:

print('Access not granted Enter correct password')

return

def main_menu():

print("WELCOME TO TRAIN RESERVATION SYSTEM")

print("1. Admin panel")

print("2. EXIT")

ch=int(input("Enter your choice:"))

while True:

if ch==1:

admin_password()

break

elif ch==2:

print("THANK YOU FOR USING RESERVATION SYSTEM")

break

main_menu()

def about():

print("The Project is developed on RAILWAY RESERVATION SYSYTEM. It contains 20 options in the


project 3 CSV Files are used... Train, Passenger and Schedule")

def read_train():

print("Reading Details of File Train")

print()

train=pd.read_csv("C:\\Users\\hp\\Documents\\train.csv",skiprows=1)
train.columns=['Tnum','Tname','Source','Destination','Distance','AC1','Slp','Gen','AC1_Fare','Slp_Fare'
,'Gen_Fare','Avl_Days']

print(train)

def new_train():

print('Adding New Train in File Train')

df=pd.read_csv("C:\\Users\\hp\\Documents\\train1.csv",index_col=0)

print(df)

a=int(input("Enter Train Number:"))

b=input("Enter Train Name:")

c=input("Enter Source:")

d=input("Enter Destination:")

e=int(input("Enter AC1 Seats:"))

f=int(input("Enter Sleeper Seats:"))

g=int(input("Enter General Seats:"))

h=int(input("Enter AC1 Fare:"))

i=int(input("Enter Sleeper Fare:"))

j=int(input("Enter General Fare:"))

k=input("Enter Arival Days:")

df.loc[a]=[b,c,d,e,f,g,h,i,j,k]

print(df)

def totaltrains():

print("Find Total Trains")

print()

df=pd.read_csv("C:\\Users\\hp\\Documents\\train.csv")

print(df)
def sort_trainno():

print("Sorting Train no. of Trains in Descending Order")

print()

df=pd.read_csv("C:\\Users\\hp\\Documents\\
train.csv",skiprows=1,names=["Tnum","Tname","Source","Destination","AC","Sleeper"])

print(df)

df=df.sort_values('Tnum',ascending=False)

print(df)

def fare():

print("Sorting Train no. of Trains in Ascending Order and Show Fares")

print()

a=int(input("Enter Train Number:"))

b=input("Enter Train Name:")

df=pd.read_csv("C:\\Users\\hp\\Documents\\
train.csv",usecols=['Tname','AC1_Fare','Sl_Fare','Gen_Fare'])

print(df[df['Tname']==b])

def enquiry():

print("Find out Arrival Time of a Train")

df=pd.read_csv("C:\\Users\\hp\\Documents\\schedule.csv")

print(df)

def canceltrain():

print("Cancelling the Train")

df=pd.read_csv("C:\\Users\\hp\\Documents\\train.csv",index_col=0)

print(df)

tnum=int(input("Enter Train Number:"))

df.drop(tnum,axis=0,inplace=True)
print("Record of Train Temporarily Deleted")

print(df)

def booked_tickets():

tno=int(input("Enter train number:"))

tname=(input("Enter yout Train Name:"))

tckno=int(input("Enter Number of Seats you want to Book:"))

print("1. AC Ticket")

print("2. Sleeper Ticket")

print("3. General Ticket")

typ=int(input("Enter your choice of class:"))

if typ==1:

ac1=pd.read_csv("C:\\Users\\hp\\Documents\\train.csv",usecols=['Tname','AC1_Fare'])

print(ac1)

a=ac1[ac1['Tname']==tname]

p=a.AC1_Fare

print(p)

elif typ==2:

slp=pd.read_csv("C:\\Users\\hp\\Documents\\train.csv",usecols=['Tname','Sl_Fare'])

print(slp)

a=slp[slp['Tname']==tname]

p=a.slp_Fare

print(p)

elif typ==3:

gen=pd.read_csv("C:\\Users\\hp\\Documents\\train.csv",usecols=['Tname','Gen_Fare'])

print(gen)

a=gen[gen['Tname']==tname]

p=a.gen_Fare

print(p)

else:

print("Ends")
L=[]

for i in range(tckno):

cus1=input("Enter customer name:")

age=int(input("Enter your Age:"))

print("------For Genger M=Male, F=Female, O=Others------")

gender=input("Enter your Gender:")

j=random.randint(1000,9999)

print("Your PNR Number is :",j)

cnf="CONFIRMED"

print(cnf)

l1=[j,cus1,tno,tname,age,gender,cnf]

L.append(l1)

print(L)

dfbt=pd.DataFrame(L,columns=['PNR_NO','CustName','Tnum','Tname','Age','Gender','Status'])

print(dfbt)

dfbt.to_csv(r"C:\Users\hp\AppData\Local\Programs\Python\Python311\
bookticket.csv",mode='a',index=False,header=False)

def cancel_ticket():

pnrno=int(input("Enter PNR Number:"))

df=pd.read_csv(r"C:\Users\hp\AppData\Local\Programs\Python\Python311\bookticket.csv")

print(df)

df.loc[df.PNR_NO==pnrno,'Status']='Cancelled'

print(df)

cond1=df[(df['PNR_NO']==pnrno)]

dfcancel=pd.DataFrame(cond1)

print(dfcancel)

print("Ticket Cancelled ")

print("Details of the cancelled ticket")

dfcancel.to_csv(r"C:\Users\hp\AppData\Local\Programs\Python\Python311\
cancelticket.csv",mode='a',index=False,header=False)
print(dfcancel)

def changetiming():

print("Delay in Arrival")

df=pd.read_csv("C:\\Users\\hp\\Documents\\schedule.csv")

print()

print(df)

df.loc[df['TNUM']==5353,['ARRIVAL']]=df['ARRIVAL']+ .20

print()

print(df)

def read_passenger():

print("Reading File Passengers")

print()

df=pd.read_csv("C:\\Users\\hp\\Documents\\passenger.csv",index_col=0)

print(df)

def new_passenger():

print("Adding New Passenger in File Passengers")

df=pd.read_csv("C:\\Users\\hp\\Documents\\passenger.csv",index_col=0)

print(df)

n=(input("Enter Passenger Name:"))

a=int(input("Enter Age:"))

tn=int(input("Enter Train number:"))

noofp=int(input("Enter Number of passengers"))

c=input("Enter Class:")

d=input("Enter Destination:")

amt=int(input("Enter amount:"))

s=input("Enter Status:")
pnr=input("Enter PNR No.:")

df.loc[n]=[a,tn,noofp,c,d,amt,s,pnr]

print(df)

def status():

print("Show Status of Ticket")

df=pd.read_csv("C:\\Users\\hp\\Documents\\passenger.csv",usecols=['PNAME','STATUS'])

print(df)

def main_menu():

print("WELCOME TO TRAIN RESERVATION SYSTEM")

print("1. Admin panel")

print("2. EXIT")

ch=int(input("Enter your choice:"))

while True:

if ch==1:

admin_password()

elif ch==2:

print("THANK YOU FOR USING RESERVATION SYSTEM")

break

def datavisulaisation():

print("Data Visulisation menu")

print("1.Line plot")

print("2.Line1 plot")

print("3.Bar plot")

print("4.Barh plot")

print("5.Histogram")
print("6.Exit")

ch=int(input("Enter your choice:"))

if ch==1:

print("Line Plot")

df=pd.read_csv("C:\\Users\\hp\\Documents\\train.csv")

print(df)

x=df['Tname']

y=df['AC1']

plt.title('AC Fare for Trains', fontsize=14,color='r')

plt.xlabel("Trains", fontsize=14,color='r')

plt.ylabel("AC Fare", fontsize=14,color='r')

plt.plot(x,y,marker='X',ls='dashed',linewidth=4,color='g')

plt.show()

elif ch==2:

print("Line Plot")

df=pd.read_csv("C:\\Users\\hp\\Documents\\train.csv")

print(df)

plt.plot(df['Tname'],df['Slp'],marker='o',label='Fare')

plt.title('Sleeper Fare for Trains', fontsize=14,color='r')

plt.xlabel("Trains", fontsize=14,color='r')

plt.ylabel("Sleeper Fare", fontsize=14,color='r')

plt.xticks(rotation=30)

plt.legend()

plt.grid(True)

plt.show()

elif ch==3:

df=pd.read_csv("C:\\Users\\hp\\Documents\\train.csv")

print(df)

x=df['Tname']

y=df['Slp']

plt.title("Sleeper Fare for Trains", fontsize=14,color='r')


plt.xlabel("Trains", fontsize=14,color='r')

plt.ylabel("Sleeper Fare", fontsize=14,color='r')

plt.xticks(rotation=30)

plt.bar(x,y,color=['red','green'])

plt.show()

elif ch==4:

print("Horizontal Bar Plot")

df=pd.read_csv("C:\\Users\\hp\\Documents\\train.csv")

print(df)

x=df['Tname']

y=df['AC1']

plt.title("AC Fare for Trains", fontsize=14,color='b')

plt.xlabel("Trains", fontsize=14,color='b')

plt.ylabel("AC Fare", fontsize=14,color='b')

plt.barh(x,y,color='blue',edgecolor='pink')

plt.show()

elif ch==5:

print("Histogram")

df=pd.read_csv("C:\\Users\\hp\\Documents\\train.csv")

print(df)

x=df['Tname']

y=df['AC1']

plt.title("AC Fare for Trains", fontsize=14,color='b')

plt.xlabel("Trains", fontsize=14,color='b')

plt.ylabel("AC Fare", fontsize=14,color='b')

plt.hist(x,y,color='blue',edgecolor='pink')

plt.show()
opt=""

while True:

menu()

opt=int(input("enter your choice:"))

if opt==0:

about()

if opt==1:

read_train()

elif opt==2:

new_train()

elif opt==3:

schedule()

elif opt==4:

totaltrains()

elif opt==5:

sort_trainno()

elif opt==6:

fare()

elif opt==7:

enquiry()

elif opt==8:

booked_tickets()

elif opt==9:

cancel_ticket()

elif opt==10:

changetiming()

elif opt==11:

read_passenger()

elif opt==12:

new_passenger()

elif opt==13:
ticketreservation()

elif opt==14:

status()

elif opt==15:

top_bottom()

elif opt==15:

datavisulaisation()

elif opt==16:

break

else:

print("Inavid Option")

print("\a")

You might also like