题目:
现有两个文件:
1、学生成绩信息。
语文,101,小张,94
语文,102,小王,64
语文,103,小李,92
语文,104,小赵,55
语文,105,小强,91
数学,101,小张,53
数学,102,小王,82
数学,103,小李,86
数学,104,小赵,93
数学,105,小强,72
英语,101,小张,92
英语,102,小王,80
英语,103,小李,73
英语,104,小赵,93
英语,105,小强,51
2、教师信息。
语文,李老师
数学,王老师
英语,张老师
将两个信息进行合并,输出一个新的文件。
思路:
1、读取教师信息文件,创建一个新的字典,进行添加。
2、读取学生成绩信息文件,创建一个列表,将教师信息与学生信息进行合并。
3、将合并的信息数据保存至一个新的文件。
结果:
代码示例:
score_grade_data={}
with open("./teacher_name",'r',encoding='utf-8') as fin:
for line in fin:
line = line[:-1]
kemu,teacher=line.split(",")
score_grade_data[kemu] = teacher
print(score_grade_data)
list1=[]
with open("./score_grade.txt",'r',encoding="utf-8") as f:
for line in f:
line = line[:-1]
line = line.split(",")
subject,id1,name,grade=line
teacher = score_grade_data.get(subject)
lo = subject,teacher,name,id1,grade
list1.append(lo)
with open("./new_grade",'w',encoding='utf-8') as f:
for i in list1:
i = ','.join(i)
f.write(i+'\n')
数据结果:
难点:将教师信息中的数据分为了键和值,遍历添加到了字典中;在学生信息读取中,由于科目subject出现的频率和想要添加的教师姓名相同,即运用字典中的.get()方法,在遍历循环中,将subject的出现频率赋予字典中的值teacher。
标签:文件,语文,27,输出,grade,score,line,teacher,subject From: https://www.cnblogs.com/LoLong/p/16883532.html