Я хочу удалить строку из моего файла csv, но после использования метода remove
весь файл становится пустым. Какие изменения мне нужно сделать, чтобы удалить строку в соответствии с данными 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')
файла csv: 111, KJSomaiya College, Engineering, Mumbai, 10000,400077 222, Dr. Колледж Васантрао Павар, медицинский, Нашик, 20000, 422207