import csv class Student: role='student' def __init__(self,id,name,sex,age,grades): self.name=name self.id = id self.sex=sex self.age=age self.grades=grades def print_score(self): print('学号:%s,姓名:%s,性别:%s,年龄:%s,成绩:%s'%(self.id,self.name,self.sex,self.age,self.grades)) @classmethod def change_role(cls, new_role): cls.role = new_role def main( ): student_list=[] while True: id=input("请输入学号(Q退出):") if id=='Q': break name=input('姓名:') sex=input('性别:') age=input('年龄:') grades=input('成绩:') student=Student(id,name,sex,age,grades) student_list.append(student) with open('students.csv','w',newline='')as csvfile: fieldnames=['学号','姓名','性别','年龄','成绩'] writer=csv.DictWriter(csvfile,fieldnames=fieldnames) writer.writeheader() for student in student_list: writer.writerow({'学号':student.id,'姓名':student.name,'性别':student.sex,'年龄':student.age,'成绩':student.grades}) if __name__ =="__main__": main()
用的是csv文件储存
遇到问题:表头是乱码。