I want to Remove a row from my csv file but after using remove
method, the whole file is getting empty. What changes should i do to remove row according to college id
?
import csv
class College:
def addclg(self):
with open('colleges.csv', 'a', newline='') as fp:
a=csv.writer(fp)
id = input("Enter College ID:")
name = input("Enter College Name:")
course = input("Enter Course:")
city = input("Enter your City:")
fees = input("Enter your Fess:")
pin = input("Enter your Pincode:")
a.writerow([id, name, course, city, fees, pin])
fp.close()
def display(self):
with open('colleges.csv', 'r') as fp:
a=csv.reader(fp)
for row in a:
if row[3]=='Mumbai' and row[2]=='Engineering' :
print (row)
fp.close()
def remove(self):
data=list()
with open('colleges.csv', 'r') as fp2:
a2=csv.reader(fp2)
for row2 in a2:
print (row2[0],row2[1])
id = input("Enter College ID you want to delete:")
for row2 in a2:
data.append(row2)
for field in row2:
if field == id:
data.remove(row2)
with open('colleges.csv', 'w') as fp:
a=csv.writer(fp)
a.writerow(data)
fp.close()
fp2.close()
ch=input('a. Register New College\nb. Display colleges in Mumbai who teach Engineering\nc. Remove College Based on collegeid\nEnter your Choice: ')
obj1=College()
if (ch=='a'):
obj1.addclg()
elif(ch=='b'):
obj1.display()
elif(ch=='c'):
obj1.remove()
else:
print('Wrong Choice')
data of csv file: 111,K.J.Somaiya College,Engineering,Mumbai,10000,400077 222,Dr. Vasantrao Pawar College,Medical,Nashik,20000,422207