因此,我一直在编写python代码,创建一个简单的学生和大学数据库,这些学生和大学正在使用课堂和熊猫图书馆学习。事情是这样的-
import pandas as pd
import csv
from csv import writer
def append_list_as_row(file_name, list_of_elem):
# Open file in append mode
with open(file_name, 'a+', newline='') as write_obj:
# Create a writer object from csv module
csv_writer = writer(write_obj)
# Add contents of list as last row in the csv file
csv_writer.writerow(list_of_elem)
class College:
def __init__(self, collegeId, collegeName, courseType, city, fees, pinCode):
self.collegeId = collegeId
self.collegeName = collegeName
self.courseType = courseType
self.city = city
self.fees = fees
self.pinCode = pinCode
#The @classmethod decorator exists so you can create class methods that are passed to the actual class object within the function call
@classmethod
def student(self):
collegeId = str(input("Enter college ID: "))
collegeName = str(input("Enter college's name: "))
courseType = str(input("Enter course: "))
city = str(input("Enter city: "))
fees = str(input("Enter fees: "))
pinCode = str(input("Enter pincode: "))
cond = str(input("Would you like to delete any entry? Type Yes or No: "))
if cond in ['yes', 'Yes', 'YES', 'Y', 'y']:
df = pd.read_csv('colleges.csv')
df = df.dropna(how = 'all') #filtering rows that don't have any data
df = df.set_index('identity')
delete_row = input("please enter the id of the college whose data needs to be deleted: ")
df.drop(df[df['identity'] == delete_row].index, inplace = True)
elif cond in ['no', 'No', 'NO', 'N', 'n']:
row_contents = [] #empty list initiation
row_contents.append(collegeId)
row_contents.append(collegeName)
row_contents.append(courseType)
row_contents.append(city)
row_contents.append(fees)
row_contents.append(pinCode)
append_list_as_row('colleges.csv', row_contents)
else:
print("invalid entry. Please reply with a Yes or No.")
return self(collegeId, collegeName, courseType, city, fees, pinCode)
data = College.student()
print(data)
在第36行,我得到一个错误-
KeyError: 'identity'
需要一点支持删除行部分,因为我已经被困了几个小时。我是个新手
这里还有csv文件的格式-
Identity, cname, course, city, fees, pincode
目前没有回答
相关问题 更多 >
编程相关推荐