python做考勤统计
本来想用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做考勤统计相关推荐
- 如何用python做数据分析统计服_使用python实现数据分析
1:文件内容格式为json的数据如何解析import json,os,sys current_dir=os.path.abspath(".") filename=[file for ...
- 利用python做词频统计
方法一:利用python字典的方式 speech_etxt = ''' My fellow citizens: I stand here today humbled by the task befor ...
- 如何用python做考勤_【python爬虫教程 考勤】如何用Python实现一只小爬虫,爬取拉勾网...
python爬虫入门教程全集 千锋官网上有一些是零基础入门学习的很不错 如何用Python实现一只小爬虫,爬取拉勾网 1.首先打开拉,并搜索"java",显示出职位信息就是我们的目 ...
- 实战 | 用Python爬取《云南虫谷》3.6万条评论,并做数据统计可视化展示分析,好看!...
最近鬼吹灯系列网剧<云南虫谷>上线,作为鬼吹灯系列作品,承接上部<龙岭迷窟>内容,且还是铁三角原班人马主演,网友直呼非常好看! 今天,我们就用Python爬取目前全部剧集的评论 ...
- 实战|用Python爬取《云南虫谷》3.6万条评论,并做数据统计可视化展示分析,好看!
大家好,我是才哥. 最近鬼吹灯系列网剧<云南虫谷>上线,作为鬼吹灯系列作品,承接上部<龙岭迷窟>内容,且还是铁三角原班人马主演,网友直呼非常好看! 今天,我们就用Python爬 ...
- python统计excel_Python操作excel做些统计
作为一名苦逼的打杂人员,经常要为N个部门做些统计工作,包括但不限于工作量统计.收入统计.服务质量统计. 数据格式集中在EXCEL,通常包含一个索引列,根据这个列获得一些属性数据,比如人员对应工作量等. ...
- python文本词频统计是字典吗_【python】文章、文本内容做词频统计(使用jieba分词,添加自定义字典)...
使用python可以轻松统计词频,做文章的词频统计也是轻而易举的事情. 1.添加自定义字典(如:超级赛亚人.奥里给等) 2.jieba分词 PS:直接将文章丢进 tf.txt 文件里,将自定义字典丢进 ...
- python做统计监考课时_python--DenyHttp项目(2)--ACM监考服务器端
服务器端: #coding:utf-8 ''' ServerGui.py 设置比赛开始时间 设置比赛结束时间 若时间无误启动监听服务 ''' import time import re import ...
- python做数据分析的包_用Python做数据分析,Numpy,Pandas,matp
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用Python做数据分析,Numpy,Pandas,matplotlib是怎么也绕不开的三个包,我最开始学习pandas是看的<利用Python进行 ...
最新文章
- 敏捷开发日常跟进系列之二:燃尽图(中)
- TensorFlow 2.2.0-rc0,这次更新让人惊奇!
- android 8.0 Account行为变更 账号系统
- ehcache缓存原理_贼厉害,手撸的 SpringBoot缓存系统,性能杠杠的!
- Python基础概念_13_常见关键字
- jQuery(function(){...})与(function($){...})(jQuery)的“兄弟”情结
- 扫描二维码读取文档_使用深度学习读取和分类扫描的文档
- Qemu之CPU mode介绍
- sa密码不满足强密码要求_恢复丢失的SA密码
- 细数Python三大“罪”!为什么编程能力比我好10倍的人都在夸它?
- ubuntu20.04安装MySQL、卸载MySQL命令
- JavaWeb之JSP技术总结
- android布局性能,Android开发——布局性能优化的一些技巧(一)
- c++如何生成一个不能被继承的类
- span标签设置大小
- 小胖儿 闲聊 百度有啊
- 运行startx报错的解决
- 技术人员的赚钱之道-9:极思极恐,技术人员需了解的“穷人”思维与“富人”思维的差别
- 颜色的前世今生21·Lab编码系统
- jzoj5990. 【北大2019冬令营模拟2019.1.6】Bear (状压dp)