本来想用python做一个考勤统计的软件,但是由于种种原因,暂停了这个想法,这是个软件的雏形,仅供大家参考

这个小玩意涉及了文件的读取,时间的比较,异常的处理,编码处理,可以用于python的初级练手,接下来,我就把代码贴出来供大家参考:

#coding:utf8
'''
Created on 2016年6月27
@author: hehe
'''
import xlrd
import time
import datetime
import sys
default_encoding = 'utf-8'
if sys.getdefaultencoding() != default_encoding:reload(sys)sys.setdefaultencoding(default_encoding)# use for to read all tablesdef readtable():data = xlrd.open_workbook(r'C:\Users\8888\Desktop\haha.xlsx')table = data.sheet_by_index(0)return table def get_num_nrow(table):return table.nrowsdef compute_time(time_begin , time_end):hour , minu  =  (int)(str(compare_time(time_begin, time_end))[0]),(int)(str(compare_time(time_begin, time_end))[2])*10+(int)(str(compare_time(time_begin, time_end))[3])return hour*60 + minudef compare_time(time_begin, time_end):date_1 = time.strptime(time_begin,"%H:%M")date_2 = time.strptime(time_end,"%H:%M")date1=datetime.datetime(date_1[0],date_1[1],date_1[2],date_1[3],date_1[4],date_1[5])date2=datetime.datetime(date_2[0],date_2[1],date_2[2],date_2[3],date_2[4],date_2[5])#print date2-date1return date2-date1def com_chidao(time_begin,time_s_beg):a=0b=0try:a=compute_time(time_begin,time_s_beg)except Exception:b=compute_time(time_s_beg,time_begin)return a,bdef com_zaotui(time_begin,time_s_beg):c=0d=0try:c=compute_time(time_begin,time_s_beg)except Exception:d=compute_time(time_s_beg,time_begin)return c,ddef judge_morning(time_list):time_begin = time_list[0]time_s_beg = u'8:30'time_end = time_list[1]time_s_end = u'12:00'if time_begin=='':print '早上没来'elif time_begin!='' and time_end=='':print '未签退'elif time_begin!='' and time_end!='':a,b=com_chidao(time_begin,time_s_beg)#c,d = com_zaotui(time_s_end,time_end)if a==0 and b!=0:print '迟到%d分'%b#if c==0 and d!=0:# print '早退%d分'%delse :print compare_time(time_begin,time_end)def judge_afternoon(time_list):time_begin = time_list[2]time_s_beg = u'14:30'time_end = time_list[3]time_s_end = u'18:00'if time_begin=='':print '下午没来'elif time_begin!='' and time_end=='':print '未签退'elif time_begin!='' and time_end!='':a,b=com_chidao(time_begin,time_s_beg)#c,d = com_zaotui(time_s_end,time_end)if a==0 and b!=0:print '迟到%d分'%b#if c==0 and d!=0:# print '早退%d分'%delse :print compare_time(time_begin,time_end)def judge_neight(time_list):time_begin = time_list[4]time_s_beg = u'19:30'time_end = time_list[5]time_s_end = u'22:00'if time_begin=='':print '晚上没来'elif time_begin!='' and time_end=='':print '未签退'elif time_begin!='' and time_end!='':a,b=com_chidao(time_begin,time_s_beg)#c,d = com_zaotui(time_s_end,time_end)if a==0 and b!=0:print '迟到%d分'%b#if c==0 and d!=0:# print '早退%d分'%delse :print compare_time(time_begin,time_end)if __name__ == '__main__':chidao = 0kuang = 0kuang_day = 0val_time = 0all_time = 0data = []table = readtable()print 'done'for i in range(get_num_nrow(table) ):value = table.row_values(i)if value[0][3]=='日':continuetime_1_be , time_1_end , time_2_be ,time_2_end , time_3_be , time_3_end =value[1] ,value[3] ,value[6] ,value[8], value[10] ,value[12]#print time_1_be , time_1_end , time_2_be ,time_2_end , time_3_be , time_3_endtime_list = [time_1_be , time_1_end , time_2_be ,time_2_end , time_3_be , time_3_end]if time_list[0]=='旷工':print '旷工'kuang_day+=1kuang+=3 continue#print time_list[0]#judje mornaingjudge_morning(time_list)#judje afternoonjudge_afternoon(time_list)#judge neightjudge_neight(time_list)

python做考勤统计相关推荐

  1. 如何用python做数据分析统计服_使用python实现数据分析

    1:文件内容格式为json的数据如何解析import json,os,sys current_dir=os.path.abspath(".") filename=[file for ...

  2. 利用python做词频统计

    方法一:利用python字典的方式 speech_etxt = ''' My fellow citizens: I stand here today humbled by the task befor ...

  3. 如何用python做考勤_【python爬虫教程 考勤】如何用Python实现一只小爬虫,爬取拉勾网...

    python爬虫入门教程全集 千锋官网上有一些是零基础入门学习的很不错 如何用Python实现一只小爬虫,爬取拉勾网 1.首先打开拉,并搜索"java",显示出职位信息就是我们的目 ...

  4. 实战 | 用Python爬取《云南虫谷》3.6万条评论,并做数据统计可视化展示分析,好看!...

    最近鬼吹灯系列网剧<云南虫谷>上线,作为鬼吹灯系列作品,承接上部<龙岭迷窟>内容,且还是铁三角原班人马主演,网友直呼非常好看! 今天,我们就用Python爬取目前全部剧集的评论 ...

  5. 实战|用Python爬取《云南虫谷》3.6万条评论,并做数据统计可视化展示分析,好看!

    大家好,我是才哥. 最近鬼吹灯系列网剧<云南虫谷>上线,作为鬼吹灯系列作品,承接上部<龙岭迷窟>内容,且还是铁三角原班人马主演,网友直呼非常好看! 今天,我们就用Python爬 ...

  6. python统计excel_Python操作excel做些统计

    作为一名苦逼的打杂人员,经常要为N个部门做些统计工作,包括但不限于工作量统计.收入统计.服务质量统计. 数据格式集中在EXCEL,通常包含一个索引列,根据这个列获得一些属性数据,比如人员对应工作量等. ...

  7. python文本词频统计是字典吗_【python】文章、文本内容做词频统计(使用jieba分词,添加自定义字典)...

    使用python可以轻松统计词频,做文章的词频统计也是轻而易举的事情. 1.添加自定义字典(如:超级赛亚人.奥里给等) 2.jieba分词 PS:直接将文章丢进 tf.txt 文件里,将自定义字典丢进 ...

  8. python做统计监考课时_python--DenyHttp项目(2)--ACM监考服务器端

    服务器端: #coding:utf-8 ''' ServerGui.py 设置比赛开始时间 设置比赛结束时间 若时间无误启动监听服务 ''' import time import re import ...

  9. python做数据分析的包_用Python做数据分析,Numpy,Pandas,matp

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用Python做数据分析,Numpy,Pandas,matplotlib是怎么也绕不开的三个包,我最开始学习pandas是看的<利用Python进行 ...

最新文章

  1. 敏捷开发日常跟进系列之二:燃尽图(中)
  2. TensorFlow 2.2.0-rc0,这次更新让人惊奇!
  3. android 8.0 Account行为变更 账号系统
  4. ehcache缓存原理_贼厉害,手撸的 SpringBoot缓存系统,性能杠杠的!
  5. Python基础概念_13_常见关键字
  6. jQuery(function(){...})与(function($){...})(jQuery)的“兄弟”情结
  7. 扫描二维码读取文档_使用深度学习读取和分类扫描的文档
  8. Qemu之CPU mode介绍
  9. sa密码不满足强密码要求_恢复丢失的SA密码
  10. 细数Python三大“罪”!为什么编程能力比我好10倍的人都在夸它?
  11. ubuntu20.04安装MySQL、卸载MySQL命令
  12. JavaWeb之JSP技术总结
  13. android布局性能,Android开发——布局性能优化的一些技巧(一)
  14. c++如何生成一个不能被继承的类
  15. span标签设置大小
  16. 小胖儿 闲聊 百度有啊
  17. 运行startx报错的解决
  18. 技术人员的赚钱之道-9:极思极恐,技术人员需了解的“穷人”思维与“富人”思维的差别
  19. 颜色的前世今生21·Lab编码系统
  20. jzoj5990. 【北大2019冬令营模拟2019.1.6】Bear (状压dp)

热门文章

  1. Redis缓存穿透,缓存击穿,缓存雪崩原因以及解决方案
  2. jbutton可以设置id吗_如何点击BUTTON更改BUTTON名字?
  3. QT5.12.9 修改源码支持热插拔
  4. python保存数据到文件的几种方法
  5. iOS扬声器和听筒模式的切换以及距离传感器红外感应的设置
  6. 实施完ERP为何还要再上MES?(内附标杆案例解析)
  7. MySQL查询优化必备
  8. AUMA MesseTrend 2020调查:参展商在展会质量上投入更多资金
  9. 企业激励机制模型 (Business Motivation Model)
  10. 最全的豆丁网使用常见问题帮助手册