示例图: 1.首先导入pandas模块 下载命令:pip install pandas import pandas as pd ff = pd.read_excel("文件名.xlsx") list1 = [] for i, j in ff.iterrows(): list1.append(j[1]) # 添加到list1里面所有同学成绩 # print(j[0], j[1]) # 所有姓名,成绩 list1.pop(0) # 去掉下标为0的'姓名和成绩'中文,根据自己情况定义这行代码 list1.pop(-1) # 去掉下标为-1的'未参加'中文,根据自己情况定义这行代码 avg = sum(list1) / len(list1) print('平均值',round(avg, 2)) # 平均值保留两位小数 list4 = {} for i, j in ff[1:-1].iterrows(): if j[1] > avg: list4[f'{j[0]}'] = j[1] print('大于平均值:',list4) # 大于平均值的所有同学和成绩,添加到list4 list5 = {} for i, j in ff[1:-1].iterrows(): if j[1] < avg: list5[f'{j[0]}'] = j[1] print('小于平均值:',list5) # 大于平均值的所有同学和成绩,添加到list5 list2 = {} for i, j in ff.iterrows(): if j[1] == max(list1): list2[f'{j[0]}'] = j[1] print("成绩最高", list2) # 成绩最高的所有同学,添加到list2 list3 = {} for i, j in ff.iterrows(): if j[1] == min(list1): list3[f'{j[0]}'] = j[1] print('成绩最低', list3) # 成绩最低的所有同学,添加到list3 # 把成绩排名信息写入csv格式文件中,文件名位test_你的名字 for i,j in ff.iterrows(): with open('test_liyongqi.csv', 'a',encoding='utf-8') as f: f.write(str(j[0]) + str(j[1]) + '\n')
2.下面是生成一张图片和添加水印
list6 = {} for i, j in ff[1:-1].iterrows(): # 存入list6所有学生和成绩 list6[f'{j[0]}'] = j[1]
top_scores = sorted(list6.items(), key=lambda x: x[1], reverse=True) # 这里用到高阶函数sorted升序 qian3 = [] # 获取前三名和最后三名 for i, j in list6.items(): if top_scores[0][1] == j: # print("最高成绩:"+i, j) pass elif top_scores[-1][1] == j: # print("最低成绩:"+i, j) pass else: qian3 = top_scores[:3] + top_scores[-3:] list7 = str(qian3)
from PIL import Image, ImageDraw, ImageFont # 导入PIL库 # 创建空白图片 image = Image.new("RGB", (1200, 800), (255, 255, 255)) # 绘制图像内容 draw = ImageDraw.Draw(image) draw.rectangle([(100, 100), (1000, 600)], fill=(0, 0, 255)) # 画一个蓝色矩形 # 设置字体和字号 font = ImageFont.truetype("C:/Windows/Fonts/FZSTK.TTF", 24) # 设置水印文本是上面定义的 qian3 = [] # 在图片上绘制水印文本 draw.text((180, 270),list7 , fill=(0, 0, 0), font=font) # 保存生成的图片 image.save("image1.png")