Python 实现Excel自动化办公(中)

在上一篇文章的基础上进行一些特殊的处理,这里的特殊处理主要是涉及到了日期格式数据的处理(上一篇文章大家估计也看到了日期数据的处理是不对的)以及常用的聚合数据统计处理,可以有效的实现你的常用统计要求。代码如下:

复制代码
#统计员工男女比例def get_sex_percent():    sexlist=[]    for rows in range(table.nrows-1):        sexlist.append(table.cell(rows+1,2).value)    print(sexlist)    print("the 男女比 is:",round(sexlist.count("男")/sexlist.count("女"),2))​​​​​​

输出结果为:['男', '女', '男', '男', '男', '男', '男', '女', '女', '男', '男', '女', '男', '男', '男', '女', '男', '女', '男', '男']the 男女比 is: 2.33

#时间数据类型的处理def get_date():    for rows in range(table.nrows):        for cols in range(table.ncols):            if(table.cell(rows,cols).ctype==3):                date=xlrd.xldate_as_datetime(table.cell(rows,cols).value,0)                print(date)​​​​​​

#最后一列数据统计处理def get_statics():   sum=0   list1=[]   for rows in range(table.nrows-1):       sum+=int(table.cell(rows+1,table.ncols-1).value)       list1.append(int(table.cell(rows+1,table.ncols-1).value))       # print(table.cell(rows+1,8).value)       print("the sum is:",sum) #求和       print("the avg is:", round(sum /table.ncols, 2)) #取平均值       print("the max is:",sorted(list1)[-1]) #取最大值       print("the min is:",sorted(list1)[0]) #取最小值       if(len(list1)%2==0): #判断列表长度是奇还是偶,来取中位数           print("the median is:",(list1[int(len(list1)/2)]+list1[int(len(list1)/2+1)])/2)       else:           print("the median is:",list1[int((len(list1)+1)/2)])

if __name__ == '__main__': get_date() get_statics()
相关推荐
爱喝一杯白开水几秒前
Java 定时任务完全指南
java
毕设源码-郭学长5 分钟前
【开题答辩全过程】以 高校自动排课系统的设计与实现为例,包含答辩的问题和答案
java
IT_陈寒20 分钟前
SpringBoot实战:3个隐藏技巧让你的应用性能飙升50%
前端·人工智能·后端
weixin1997010801624 分钟前
唯品会商品详情页前端性能优化实战
前端·性能优化
minji...27 分钟前
Linux 库制作与原理(三)深入动静态链接原理
linux·运维·服务器·c++
爱学习的程序媛31 分钟前
【Web前端】Pinia状态管理详解
前端·vue.js·typescript
indexsunny34 分钟前
互联网大厂Java面试实战:从Spring Boot到微服务架构的深度解析
java·spring boot·spring cloud·kafka·prometheus·security·microservices
爱学习的程序媛41 分钟前
“数字孪生”详解与前端技术栈
前端·人工智能·计算机视觉·智慧城市·信息与通信
海石1 小时前
微信小程序开发02:原始人也能看懂的着色器与视频处理
前端·微信小程序·视频编码
程序员Sunday1 小时前
Claude Code 生态爆发:5个必知的新工具
前端·人工智能·后端