import pandas as pd
import [Link] as plt
print('++++++++++++++++++++++++++++++++++++++++++++++++++')
print('+ +')
print('+ Welcome to Complaint Management +')
print('+ +')
print('++++++++++++++++++++++++++++++++++++++++++++++++++')
dfComplaint = pd.read_csv('[Link]',
header=None,
names=['compno','complaint',
'dateofcomplaint','status'
,'remarks','dateofresolution'])
choice = 0
while(choice != 6):
print('Choices for the module')
print('1. Add a new Complaint')
print('2. Update Complaint')
print('3. Delete Complaint')
print('4. Search & View Complaints')
print('5. View Charts')
print('6. Exit')
choice = int(input('Enter your choice : '))
if(choice == 1):
compno = int(input('Input Complaint Number : '))
complaint = input('Input Complaint Details : ')
dateofcomplaint = input('Input Date of Complaint : ')
status = input('Input Status (Pending/On Hold/Resolved) : ')
remarks = input('Input Remarks : ')
dateofresolution = input('Input Date of Resolution of complaint : ')
noofComplaints = len(dfComplaint)
[Link][noofComplaints] = [compno,complaint,dateofcomplaint,
status,remarks,dateofresolution]
print(dfComplaint)
dfComplaint.to_csv('[Link]',header=False,index=False)
elif (choice == 2):
compno = int(input('Enter Complaint Number To Update : '))
print([Link][dfComplaint['compno'] == compno])
indexno = [Link][dfComplaint['compno'] == compno].index
print('1. Update Complaint Number')
print('2. Update Complaint Detail')
print('3. Update Date of Complaint')
print('4. Update Status')
print('5. Update Remarks')
print('6. Update Date of Resolution')
complaintchoice = int(input('Enter your choice for updateofcomplaint : '))
if (complaintchoice == 1):
newcompno = int(input('Enter new Complaint Number : '))
[Link][indexno,'compno'] = newcompno
dfComplaint.to_csv('[Link]',header=False,index=False)
elif (complaintchoice == 2):
newcomplaint = input('Enter Complaint Details : ')
[Link][indexno,'complaint'] = newcomplaint
dfComplaint.to_csv('[Link]',header=False,index=False)
elif (complaintchoice == 3):
newdateofcomplaint = input('Enter date of complaint : ')
[Link][indexno,'dateofcomplaint'] = newdateofcomplaint
dfComplaint.to_csv('[Link]',header=False,index=False)
elif (complaintchoice == 4):
newstatus = input('Enter Updated Status (Pending/On Hold/Resolved) : ')
[Link][indexno,'status'] = newstatus
dfComplaint.to_csv('[Link]',header=False,index=False)
elif (complaintchoice == 5):
newremarks = input('Enter Remarks : ')
[Link][indexno,'remarks'] = newremarks
dfComplaint.to_csv('[Link]',header=False,index=False)
elif (complaintchoice == 6):
newdateofresolution = input('Enter date of resolution : ')
[Link][indexno,'remarks'] = newdateofresolution
dfComplaint.to_csv('[Link]',header=False,index=False)
print([Link][dfComplaint['compno'] == compno])
print('----Complaint Store Record Updateofcomplaintd----')
elif (choice == 3):
compno = int(input('Enter Complaint Number to Delete : '))
print([Link][dfComplaint['compno'] == compno])
indexno = [Link][dfComplaint['compno'] == compno].index
confirm = input('Are you sure you want to delete it (Y/N) : ')
if (confirm == 'Y' or confirm == 'y'):
dfComplaint = [Link](indexno)
dfComplaint.to_csv('[Link]',header=False,index=False)
print('---------- Record Deleted ---------')
elif (choice == 4):
print('1. Display all ')
print('2. Display top ___ records')
print('3. Display bottom ___ records')
print('4. Display on the basis of date of complaint')
print('5. Display on the basis of status')
print('6. Display on the basis of date of resolution')
dispchoice = int(input('Enter your choice : '))
if (dispchoice == 1):
print(dfComplaint)
elif (dispchoice == 2):
top = int(input('Enter how many top records to be displayed : '))
print([Link](top))
elif (dispchoice == 3):
bottom = int(input('Enter how many bottom records to be displayed : '))
print([Link](bottom))
elif (dispchoice == 4):
dateofcomplaint = input('Enter date of complaint to search : ')
print([Link][dfComplaint['dateofcomplaint'] == dateofcomplaint])
elif (dispchoice == 5):
status = input('Enter status Capacity : ')
print([Link][dfComplaint['status'] == status])
elif (dispchoice == 6):
dateofresolution = input('Enter Date of Resolution : ')
print([Link][dfComplaint['dateofresolution'] ==
dateofresolution])
elif (choice == 5):
print('1. Bar Chart - Date Wise Total Complaints')
print('2. Line Chart - Status Wise Number of Complaints')
print('3. Back Menu')
chartchoice = int(input('Enter your choice : '))
if (chartchoice == 1):
dftemp = [Link] ('dateofcomplaint').aggregate('count')
dateofcomplaint = [Link].to_list()
Complaintcount = dftemp['compno']
[Link](dateofcomplaint,Complaintcount)
[Link]('Date')
[Link]('Number of Complaints')
[Link]('Date Wise Total Complaints')
[Link]()
elif (chartchoice == 2):
dftemp = [Link] ('status').aggregate('count')
status = [Link].to_list()
Complaintcount = dftemp['compno']
[Link](status,Complaintcount)
[Link]('Status')
[Link]('Number of Complaints')
[Link]('Status Wise Number of Complaints')
[Link]()
print('---------------Thank You---------------------')