设学生基本信息数据保存在一个文本文件中,文件中每一行是一条学生记录,各字段之间用逗号分隔。在任务6实现的学生信息管理类StudentList中添加一个数据导入方法
时间: 2023-07-16 18:14:50 浏览: 106
一个用C语言编写的学生信息管理系统,学生数据保存在文本文件中
可以实现一个数据导入方法import_data,具体实现步骤如下:
1. 在StudentList类中添加一个import_data方法,该方法将接受一个参数filename,表示需要导入数据的文件名。
2. 在import_data方法中,使用Python内置的open函数打开文件,读取每一行数据,并使用split方法将每一行数据按照逗号分隔成一个列表。
3. 对于每一行数据,将其按照字段顺序分别赋值给一个学生对象的属性,并将该学生对象添加到StudentList的学生列表中。
4. 读取完所有数据后,关闭文件。
下面是代码示例:
```python
class StudentList:
def __init__(self):
self.students = []
def import_data(self, filename):
with open(filename, 'r') as f:
for line in f:
data = line.strip().split(',')
student = Student(data[0], data[1], data[2], data[3], data[4], data[5])
self.students.append(student)
# 其他方法省略
```
其中,上述代码假设学生类的构造函数为Student(name, gender, age, grade, score1, score2),并且在导入数据时,每一行数据的顺序依次是姓名、性别、年龄、年级、成绩1、成绩2。
使用方法如下:
```python
# 创建一个学生列表对象
student_list = StudentList()
# 导入数据
student_list.import_data('students.txt')
# 输出学生列表
student_list.show_students()
```
其中,students.txt文件的内容类似下面这样:
```
张三,男,18,高三,90,80
李四,女,17,高二,85,90
王五,男,18,高三,95,88
赵六,女,16,高一,78,92
```
执行完上述代码后,将会输出所有学生的信息。
阅读全文