使用Python对Excel增删改 | openpyxl |Excel自动化|Python程序设计|Excel的Python调用

使用openpyxl对Excel进行增删改查并调用其函数,具体内容如下代码所示,调踊第三方库进行修改。


import openpyxl
#Excel 第一行第一列是[1,1]

# 使用相对路径,在同级目录下
wb = openpyxl.load_workbook('data.xlsx')
# 选择data表单
sh = wb["data"]

sheet = wb.active   # 将活跃表单赋值给一个变量


man = 0 # 男生人数
woman = 0 # 女生人数
manHeight = 0 #男身高和
womanHeight = 0 #女身高和
womanAvg = 0 #男平均身高
manAvg = 0 #女平均身高

# 用于获取key值
title=[]
# 姓氏-人数
head={}
# 姓氏-身高平均
headAvg={}

# 按行读取转换列表,第一行当做key
for item in list(sh.rows)[0]:
    title.append(item.value)

# 读取姓氏并写入head字典和headAvg字典
for item in list(sh.columns)[0]:
    name = item.value
    headKey = list(head.keys())
    if name[0]=='姓':
        continue
    if name[0] in headKey:
        # 获取横坐标并定位至身高的位置,取值到字典中
        headAvg[name[0]] += sheet.cell(item.row, 3).value
        head[name[0]]+=1
    else:
        # 没有就创建
        headAvg[name[0]]=sheet.cell(item.row,3).value
        head[name[0]]=1


# 读取除了第一行的数据
for item in list(sh.rows)[1:]:
    # 空字典接收数据
    value_dict={}
    # len(item) 获取列数
    for index in range(len(item)):
        value_dict[title[index]] = item[index].value

    # 根据性别计算身高和
    if value_dict['性别']=="女":
        woman+=1
        womanHeight+=value_dict['身高']
    if value_dict['性别']=="男":
        man+=1
        manHeight+=value_dict['身高']

# 根据性别计算身高平均值
womanAvg=womanHeight/woman
manAvg=manHeight/man

# 给单元格赋值
sheet['E2'] = '男生平均身高'
sheet['E3'] = '女生平均身高'
sheet['F2'] = manAvg
sheet['F3'] = womanAvg

n=2
sheet['G1'] = '姓氏'
sheet['H1'] = '人数'
sheet['I1'] = '平均升高'
for key,value in head.items():
    sheet['G' + str(n)] = key
    sheet['H'+ str(n)] = value
    # 除法计算平均
    sheet['I' + str(n)] = headAvg[key]/head[key]
    n = n + 1
# 保存,使用相对路径
wb.save('data.xlsx')


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值