首页 > 其他分享 >openpyxl模块------------------------------------------统计加班时间

openpyxl模块------------------------------------------统计加班时间

时间:2024-01-12 22:33:20浏览次数:23  
标签:wb 18 加班 date sh ------------------------------------------ data append openpyxl

#####################统计加班时间代码######################################
from openpyxl import Workbook,load_workbook
from datetime import date
def create_data():
wb = Workbook()
sh = wb.active
rows = [
['Date','姓名','打卡时间'],
[date(2020, 12, 1), '吕小布','18:50'],
[date(2020, 12, 2),'貂的蝉','18:10'],
[date(2020, 12, 3),'刘备','18:02'],
[date(2020, 12, 4),'吕小布','18:50'],
[date(2020, 12, 5), '张飞','19:22'],
[date(2020, 12, 6), '吕小布','18:50'],
]
for row in rows:
sh.append(row)
wb.save('C:/Users/admin/Desktop/打卡时间.xlsx')
##统计学statistics
def statistics():
##读取数据
wb = load_workbook('C:/Users/admin/Desktop/打卡时间.xlsx')
sh = wb.active
data = []
for i in range(2,sh.max_row+1):
t_data = []
for j in range(1,sh.max_column+1):
t_data.append(sh.cell(i,j).value)
##统计,可以按分钟统计,按:进行分隔为2部分,18:22
h,m = t_data[2].split(":")
full = int(h)*60 + int(m)
tmp = full - 18*60
t_data.append(tmp)
data.append(t_data)
##保存
n_wb = Workbook()
n_sh = n_wb.active
for d in data:
n_sh.append(d)
n_wb.save('C:/Users/admin/Desktop/统计加班.xlsx')


if __name__ == "__main__":
create_data()
statistics()
#################实现效果:###################################

 可以看出时间格式不对,修改时间代码:

在t_data.append(tmp)下面添加代码:
t_data[0] = t_data[0].date()

即如下:
t_data.append(tmp)

###处理时间问题
t_data[0] = t_data[0].date()
data.append(t_data)
##保存
######################实现效果如下:#######################
时间恢复正常

 

 












标签:wb,18,加班,date,sh,------------------------------------------,data,append,openpyxl
From: https://www.cnblogs.com/cherishthepresent/p/17961719

相关文章

  • tar命令用法
    tar将许多文件一起保存至一个单独的磁带或磁盘归档,并能从归档中单独还原所需文件。补充说明tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以......
  • check
    文件上传上传一句话木马蚁剑连接根目录flagGET传参?text=data:text/plain,welcometothebeijing&file=/flag&password=r变量覆盖将flag的值赋给a再让flag=a输出flag?a=flag&flag=asql时间盲注查询数据库id=1'/**/anandd/**/if((ascii(substr((select/**/databa......
  • upload-labs
    Pass-01前端js验证谷歌设置->隐私安全->网站设置->JavaScript上传php文件复制图片地址蚁剑连接文件上传成功Pass-02MIME是一种类型(例如:text,image),MIME是一种标准,是用来表示文档,文件或字节流的性质和格式(告诉浏览器这个文件的类型,目的跟文件扩展名类似,但更加具体 )允许上传......
  • Python第一天学习笔记
    今日学习内容1.什么是编程2.计算机组成原理3.计算机操作系统4.编程语言是什么什么是编程什么是编程语言编程语言是什么:人与计算机交流的介质什么是编程编程:利用编程语言写出一个个文件,这堆文件会达到一个目的编程有什么用就像近代奴隶主奴役黑奴干活一样,我们的目的是奴......
  • Simple CTF-简单CTF
    首先对靶机进行端口扫描nmap-sV-p-10.10.70.110通过扫描结果可以看出靶机开放了21端口vsftpd服务、80端口apache服务、2222端口openssh服务这里我们的思路是匿名用户登录ftp,获取一些有用的文件80端口目录扫描,robots文件,指纹识别ssh爆破经过我的尝试ftp无法正常执行......
  • 基于 Aidlux的智慧教育版面分析场景下的实践
    基于Aidlux的智慧教育版面分析场景下的实践基于Aidlux的智慧教育版面分析应用一、Aidlux环境介绍所有代码均可通过加课程小助手wx获得:AidLux_Me官网:https://aidlux.com/1.产品优势AidLux是基于ARM架构的跨生态(Android/鸿蒙+Linux)一站式AIoT应用快速开发和部署平台APP。......
  • 软件架构实践 V2:第二章
    第二章什么是软件架构如果一个项目的系统构架(包括理论基础)尚未确定,就不应该进行此系统的全面开发。只有对构架做出明确清楚的表述,才能使之在整个开发和维护过程中加以充分利用。——BarryBoehm本章我们将严格地从软件工程的角度对构架进行讨论,即除了第1章中所讲到的企......
  • js中的对象,如果赋值给多个变量,那么会有性能问题吗
    js中的对象,如果赋值给多个变量,那么会有性能问题吗?在JavaScript中,将一个对象赋值给多个变量时,并不会直接导致性能问题。当一个对象被赋值给多个变量时,实际上这些变量都会引用同一个对象,即它们指向内存中的同一块地址。这种行为称为“对象引用”。例如:constobj={a:1,b:2}......
  • 蚂蚁爱购--靠谱的SpringBoot项目
    ​简介这是一个靠谱的SpringBoot项目实战,名字叫蚂蚁爱购。从零开发项目,视频加文档,十天就能学会开发JavaWeb项目。教程路线是:搭建环境=>安装软件=>创建项目=>添加依赖和配置=>通过表生成代码=>编写Java代码=>代码自测=>前后端联调=>准备找工作。学完即可成为合格的Java......
  • 聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(三)
    前言今天的第三篇,感觉没啥人看呀,难道没有兄弟跟我有同样的整合需求吗???手动,本文会简短一些,介绍下CastleCore作为代理库的一些缺点甚至是硬伤异步支持先上代码///<summary>///异常捕获、日志记录和耗时监控拦截器2024-1-1221:28:22///</summary>publicclassCatch......