对Excel表格进行操作

1.输出所有同学“名称:对应成绩”的信息  2分

2.输出分值最高和最低的同学名称及分数,(如有重复并列输出)3分

3.求出平均值并输出 2分

4.输出高于平均值的同学名称及成绩 3分

5.输出低于平均值的同学名称及成绩 3分

6.将成绩排名信息写入csv格式的文件中,文件名称为:test_你自己的名字_时间戳.csv 3分

7.生成一个图片,将前三名信息水印在这张图片上,将图片保存在 4分

第一题:
list = []
df = pd.read_excel(r"C:\Users\26448\Desktop\2209a.xlsx")
for i, j in df.iterrows():
   list.append({'姓名': str(j[0]),'分数': int(j[1])})
list.pop(0)
list.pop(-1)
fd = []
for i in list:
    fd.append(i['分数'])

第二题:
maxx = []
for i in list:
    if i['分数'] == max(fd):
        maxx.append(i)
        print('最高分:',i)
print(maxx)
for i in list:
    if i['分数'] == min(fd):
        print('最低分:',i)
第三题:
fens = reduce(lambda x,y:x+y , fd)
pjf = fens/len(fd)
print('平均分','%.1f' %pjf)
第四题:
for i in list:
    if i['分数'] < pjf:
       print('低于平均分:{},成绩为:{}'.format(i['姓名'],i['分数']))

第五题:
for i in list:
    if i['分数'] > pjf:
       print('高于平均分:{},成绩为:{}'.format(i['姓名'],i['分数']))
第六题:
with open('zhu.csv','w') as f:
    writer = csv.writer(f)
    for i in range(len(list)):
        p = list[i]['姓名'],list[i]['分数']
        writer.writerow(p)
第七题:
# 创建一个空白图片
image = Image.new('RGB', (400, 300), 'white')
draw = ImageDraw.Draw(image)

# 设置字体和颜色
font = ImageFont.truetype('msyh.ttc', 36)
text_color = (0, 0, 0)

# 添加文本水印
text = ''
for j in range(len(maxx)):
    text += ':'.join([str(maxx[j]['姓名']),str(maxx[j]['分数'])])
print(text)
draw.text((10, 10), text, fill=text_color, font=font)

# 保存图片
image.save('watermark.png')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值