问题描述:单位一周考勤系统导出的表结构如图

从导出的表格可以看出是个一对多的表,并且有的老师对应7条记录,有的可能只有6条。

最后要得到每一个老师一周出勤的统计,如图:

实际上是一个考勤时间的转置表,但学校人数较多,手工比较麻烦。用python处理了一下,很快。

说明:导出来的表应该按老师姓名排个序,另存为.xls的类型。

import xlrd
import xlwtdata = xlrd.open_workbook(r"teacherinfo.xls")  # 打开教师考勤表table = data.sheets()[0]
# 获取所有行
nrow = table.nrowsname = table.cell_value(1, 1)  # 取第一行老师姓名
flag = Trueworkbook = xlwt.Workbook(encoding='ascii')
worksheet = workbook.add_sheet("My new Sheet", cell_overwrite_ok=True)row = 0
col = 1for i in range(1, nrow):if flag:worksheet.write(row, 0, name)flag = Falseif name == table.cell_value(i, 1):value = table.cell_value(i, 4)worksheet.write(row, col, value)col += 1else:row += 1  # 姓名不相同,变换行col = 1name = table.cell_value(i, 1)value = table.cell_value(i, 4)worksheet.write(row, col, value)flag = Truecol += 1
workbook.save("export.xls")  # 导出结果

算法思路:从头向后遍历,姓名相同,按列写,不同调整行后,再按列写。

Python 处理一对多考勤表相关推荐

  1. Python excel xlwings+QT 考勤表开发 -【Python Office开发基础培训】 拆分合并文件

    Python excel xlwings+QT 考勤表开发 1. 概述 2. QT界面搭建 2.1搭建界面 3. 搭建软件架构 3. 读取输入文件 3.1链接文件 3.2读取表格 3.3解析为树状结构 ...

  2. python将考勤表中同一个人,同一日期的多行出勤时间转换成同一列显示的方法

    python将考勤表中同一个人,同一日期的多行出勤时间转换成同一列显示的方法 原始表: 注意原始表中的日期和时间转换成文本的形式存储在EXCEL 中. python代码: import numpy a ...

  3. 每个月6800张考勤表,用python几秒钟解决!

    每个月6800多张的考勤表需要汇总整理转化成一张整表,吭哧吭哧一个人没日没夜的要处理2周,完全的重复劳动,每个月做到绝望,没想到请教了python的老师,几秒钟就完成了一个月的工作,逃离苦海,瞬间解放 ...

  4. 的确好用!Python数据科学速查表中文版强势来袭!

    1速查速记,不二之选! DataCamp 推出的 Python 数据科学速查表(中文版),一共 11 张表,包括:Python 基础.导入数据.Jupyter Notebook.Numpy 基础.Pa ...

  5. python乘法口诀编程-中年大叔学编程-用Python打印个九九乘法表

    原标题:中年大叔学编程-用Python打印个九九乘法表 前面简单的介绍了一些基础常用的语法,那么这一篇,我们就来实践一番,写两个小程序,感受一下传说中coding的感觉. Python打印九九乘法表 ...

  6. python处理excel表格数据-利用Python处理和分析Excel表中数据实战.doc

    利用Python处理和分析Excel表中数据实战 [利用python进行数据分析--基础篇]利用Python处理和分析Excel表中数据实战 原创 2017年06月28日 15:09:32 标签: p ...

  7. 用python制作信贷审批监测表

    写在前面 本文有两个作用: 1)给初级从业者以帮助,包括: ①python代码结构 ②pandas基础数据处理函数及方法的应用 ③了解现金分期业务审批表 2)给中高级从业者以启发,包括: ①良好的py ...

  8. import _winreg:用python操作修改windows注册表

    用python操作修改windows注册表,显然要比用C或者C++简单. 主要参考资料:官方文档:http://docs.python.org/library/_winreg.html 通过 pyth ...

  9. python语言写九九乘法表_【酷叮课堂】--Python语言完成99乘法表

    相信大家都会背诵九九乘法表,有了这个口诀,我们在算一些数时会非常方便.那么,你知道如何用Python编程输出一个乘法表吗?今天酷酷老师带你一起实现一下! 乘法表有很多不同的输出格式,所以在程序上也会有 ...

最新文章

  1. QT学习之状态机框架
  2. 【Qt】信号和槽对值传递参数和引用传递参数的总结
  3. node--CommonJS
  4. javascript实用技巧--数组.
  5. Java SecurityManager getSecurityContext()方法与示例
  6. 流式计算的代表:Storm、Flink、Spark Streaming
  7. 渗透测试入门14之渗透测试工具1
  8. Linux学习笔记(四)账号管理之管理用户账号
  9. Spring : @Bean注解
  10. MyCat分布式数据库集群架构工作笔记0003---Mycat的作用
  11. 一场重新定义的发布会
  12. 如何使用Keras功能API进行深度学习
  13. 使用文本编辑器编写Java源代码
  14. linux可以用什么c语言编译器,嵌入式Linux下最常用的C语言编译器GCC命令详解
  15. execution表达式里写多个条件
  16. 比“花书”更合适入门者的“鱼书”
  17. 漫谈软件架构设计系列(一):可用性设计
  18. Android集成环信IM,实现为某一个好友设置消息免打扰
  19. C++ std::string::substr()
  20. Go语言实现A disguised sequence (I)

热门文章

  1. Kotlin高仿微信-项目实践58篇
  2. 长征路上的益友——好的名人博客地址
  3. JavaScript (mp3、mp4、jpg、doc、txt、rar)单个、多文件批量下载
  4. J-LINK 烧录程序
  5. 同济大学计算机系拿奖学分绩点,同济大学绩点换算(同济大学绩点多少算高)
  6. Hive内表和外表的区别
  7. [技术干货] zabbix docker安装详细教程
  8. 通过Excel制作下拉框筛选出成绩
  9. 国内外主流静态分析类工具汇总
  10. 俄语考生学计算机难吗,俄语说的不好,没有计算机证书,甚至还是单身狗,怎么办?...