设计函数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)