本来想用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. python实训心得2000_实训总结万能版2000字五篇
  2. html 存储登录状态,Vue中保存用户登录状态实例代码
  3. LeetCode 456. 132模式(逆序遍历+单调栈)
  4. Became Jane(成为简.奥斯丁)
  5. spring原理学习
  6. 物联网大变局:LoRa 正式获批!
  7. Learning to Track at 100 FPS with Deep Regression Networks 论文笔记
  8. CABAC基于上下文的自适应二进制熵编码
  9. SQLite Developer破解 cmd 运行 reg delete HKEY_CURRENT_USER\SharpPlus\SqliteDev /v StartDate /f
  10. 7-4 散列表查找(PTA程序设计)
  11. DirectSHOW中的视频捕捉 (乱七八糟整理)
  12. 《UnityAPI.Camera摄像机》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+allCameras+cullingMask+OnPreCull+立钻哥哥++OK+)
  13. 商标不仅仅是个标记,更是企业的无形资产和价值财富!
  14. Assignment中脚注和尾注的正确打开方式
  15. 【附源码】计算机毕业设计JAVA自动化办公系统
  16. 58沈剑解读:数据库典型架构实践
  17. coreldraw铺花纹_CorelDRAW打造漂亮剪纸花纹教程
  18. [转]Windows Mobile 常用键值(VK)对应表及系统文件夹简单介绍
  19. LinkedList源码阅读笔记
  20. 贪心动规c++小入门

热门文章

  1. LeetCode 24:两两交换链表中的节点、1662. 检查两个字符串数组是否相等
  2. 在Windows中查看网卡名称,简单7步骤
  3. Android三种换肤方案原理及Demo
  4. 论——如何不用u盘和光驱重装Windows系统
  5. 大学计算机实验三,《大学计算机Ⅰ》实验报告实验三
  6. winform打开cad图纸_CAD打开文件后发现图纸显示不全怎么办?
  7. bat操作批量去除文件名中的空格
  8. 创业失败后,有的人卖车给员工发工资,而有的人却玩起了“人间蒸发”
  9. Android中控制屏幕旋转的相关设置
  10. 用计算机画二次元,深度学习画二次元