打开文件 目录操作 班级名单.txt 操作信息,取数据 写数据,检索 插入删除 数据类型 字典 学号: 20xxxx 姓名:张三 性别: 年龄: 爱好: python成绩:
时间: 2023-06-13 15:08:25 浏览: 105
好的,我可以帮你进行文件操作和数据处理。首先,我们可以使用Python内置的open函数打开班级名单.txt文件,并将其读取为一个字符串。
```python
with open('班级名单.txt', 'r', encoding='utf-8') as f:
data = f.read()
```
接下来,我们可以将读取到的数据处理成字典类型的数据,其中学号为字典的键,其余信息为字典的值。
```python
students = {}
for line in data.split('\n'):
if line:
info = line.split()
students[info[0]] = {'姓名': info[1], '性别': info[2], '年龄': info[3], '爱好': info[4], 'python成绩': info[5]}
```
现在我们已经将班级名单数据处理成字典类型的数据,接下来可以进行数据的读取、写入、检索、插入和删除等操作。
读取数据:
```python
# 获取学号为'20123456'的学生信息
student_info = students['20123456']
print(student_info)
```
写入数据:
```python
# 添加学号为'20123457'的学生信息
students['20123457'] = {'姓名': '李四', '性别': '男', '年龄': '20', '爱好': '游泳', 'python成绩': '92'}
# 将数据写入文件
with open('班级名单.txt', 'w', encoding='utf-8') as f:
for student_id, info in students.items():
student_info = ' '.join([student_id, info['姓名'], info['性别'], info['年龄'], info['爱好'], info['python成绩']])
f.write(student_info + '\n')
```
检索数据:
```python
# 查找所有python成绩大于90分的学生
high_score_students = [info['姓名'] for student_id, info in students.items() if int(info['python成绩']) > 90]
print(high_score_students)
```
插入数据:
```python
# 在学号为'20123458'的学生后插入学号为'20123459'的学生信息
new_student_info = {'姓名': '王五', '性别': '男', '年龄': '21', '爱好': '篮球', 'python成绩': '85'}
index = list(students.keys()).index('20123458')
students = dict(list(students.items())[:index+1] + [('20123459', new_student_info)] + list(students.items())[index+1:])
# 将数据写入文件
with open('班级名单.txt', 'w', encoding='utf-8') as f:
for student_id, info in students.items():
student_info = ' '.join([student_id, info['姓名'], info['性别'], info['年龄'], info['爱好'], info['python成绩']])
f.write(student_info + '\n')
```
删除数据:
```python
# 删除学号为'20123457'的学生信息
del students['20123457']
# 将数据写入文件
with open('班级名单.txt', 'w', encoding='utf-8') as f:
for student_id, info in students.items():
student_info = ' '.join([student_id, info['姓名'], info['性别'], info['年龄'], info['爱好'], info['python成绩']])
f.write(student_info + '\n')
```
阅读全文