输出所有同学“名称:对应成绩”的信息
输出分值最高和最低的同学名称及分数,(如有重复并列输出)
求出平均值并输出
输出高于平均值的同学名称及成绩
输出低于平均值的同学名称及成绩
将成绩排名信息写入csv格式的文件中,文件名称为:test_你自己的名字_时间戳.csv
生成一个图片,将前三名信息水印在这张图片上,将图片保存在当前目录下
import pandas as pd # 读取 Excel 表格 df = pd.read_excel("2209A2361-第一轮面试成绩.xlsx") lst=[] ty=[] # # 输出所有同学“名称:对应成绩”的信息 for index, row in df.iterrows(): lst.append({'姓名': row[0],'分数':row[1]}) # print(f"{row[0]}: {row[1]}") lst.pop(0) lst.pop(-1) print(lst) for i in lst: ty.append(i['分数']) sum1 = sum(ty)/len(ty) for i in lst: if i['分数'] == max(ty): print('分数最高的人:',i) for i in lst: if i['分数'] == min(ty): print('分数最低的人:',i) print('平均分为:',sum(ty)/len(ty)) for i in lst: if sum1 <= i['分数']: print('高于平均分的人:',i) for i in lst: if sum1 >= i['分数']: print('低于平均分的人:', i) import csv import time # 获取当前时间戳 timestamp = int(time.time()) # 构造文件名 file_name = f"test_xxx_{timestamp}.csv" # 写入CSV文件 with open(file_name, "w", newline="",encoding='UTF-8') as file: writer = csv.DictWriter(file, fieldnames=["姓名", "分数"]) writer.writeheader() # 写入标题行 writer.writerows(scores) # 写入数据记录 from PIL import Image, ImageDraw, ImageFont # 前三名信息 sorted_scores = sorted(scores, key=lambda x: x['分数'], reverse=True) top_three = sorted_scores[:3] print(top_three) # # 打开图片 image = Image.open("租房ER图.png") # 创建绘图对象 draw = ImageDraw.Draw(image) # 设置字体和字体大小 font = ImageFont.truetype("C:/Windows/Fonts/simhei.ttf", 20) # 添加水印 for i, info in enumerate(top_three): text = f"第{i+1}名: {info['姓名']} - {info['分数']}分" utf8_text = text.encode('utf-8').decode('utf-8') draw.text((10, 10 + i*30),utf8_text, font=font, fill=(5, 5, 5)) # 保存图片 image.save("result.png")