python第四章课后习题(5)

设计函数fun5,从资源文件中,获取完整的student.txt文件。输出每位同学的发言次数,按学号从小到大顺序写入到speak.csv文件里,csv库的使用方法请自行查找资料学习。计数方法参考教材第3.5.3节。

例如:
张三,2次
李四,1次

import csv
def fun5(file_in='student.txt',file_out='speak.csv'):
    """
    Change "student.txt" into "student.csv" using the CSV library.
    """
    with open(f'{path}/{file_in}','r',encoding='utf8') as f:
        l=f.readlines()
        dic1={
    
    }
        dic2={
    
    }
        for i in range(len(l)):
            name=l[i].split()[1]
            num=l[i].split()[2]
            if num not in dic1:
                dic1[num]=name
                dic2[num]=1
            else:
                dic2[num]+=1
        lst=sorted(dic1.keys())
        rows = [[f'{dic1[i]}',f'{dic2[i]}次'] for i in lst]
        with open(abspath(file_out),'w',encoding='utf8')as f1:
            f_csv = csv.writer(f1)
            f_csv.writerows(rows)

猜你喜欢

转载自blog.csdn.net/qq_53029299/article/details/114598269