乐之之

知而行乐,乐而行之,天道酬勤,学无止境。
27、将两个不同的文件进行组合并输出一个新的文件

题目:

  现有两个文件:

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。

posted on 2022-11-12 13:05  乐之之  阅读(130)  评论(0编辑  收藏  举报