初衷:我担任了女儿二年级的健康上报的统计人员,负责督促家长们及时填写好日报,并且给予文档的维护工作。
尽管每次都不需要花费多少时间。但是也还是占用我不少时间。还是拿起python的脚本,来设计一下如何做吧。
设计思路: 1、获取excle表格里的sheet标签
2、从行去读取数据,遍历整个模块,查找 学号,查看每一条记录的情况
3、打印每一行学号 和姓名
代码如下:
# -*- coding: utf-8 -*-
# @Time : 2020/12/25
# @Author : huiguiziran111
# @Email :
# @Software: PyCharm
import xlrd,xlwt
from xlutils.copy import copy
from openpyxl import load_workbook
import datetime
def timevlaue():
# 表名为日期.的时间转换 完成当天的统计;
m = datetime.datetime.now().month
y = datetime.datetime.now().day
timevalue = format(m) + '.' + format(y)
return timevalue
def liuliu(datatime):
filename = u"E://体温自测日报表.xlsx"
workbook = load_workbook(filename) # 找到需要xlsx文件的位置
sheet = workbook.get_sheet_by_name(datatime)
#获取sheet页的行数据
rows = sheet.rows
tmp_list = list(rows)
CountValue = len(tmp_list) -147
for id in range(3, CountValue):
# 当日时间
DayTime = tmp_list[id][0]
xuehao = DayTime.value
DayTime1 = tmp_list[id][1]
xingming = DayTime1.value
DayTime2 = tmp_list[id][2]
DayTime3 = tmp_list[id][3]
DayTime4 = tmp_list[id][4]
DayTime5 = tmp_list[id][5]
DayTime6 = tmp_list[id][6]
# 点时间
if DayTime2.value == None:
print(xuehao,xingming)
elif DayTime3.value == None:
print(xuehao, xingming)
elif DayTime4.value == None:
print(xuehao, xingming)
elif DayTime5.value == None:
print(xuehao, xingming)
elif DayTime6.value == None:
print(xuehao, xingming)
else :
id+=1
if __name__ == '__main__':
#多个时间调用
datatime = '12.23'
print(datatime)
liuliu(datatime)
后续:1 该文档是腾讯qq的在线文档,当我电脑导出改份文档后,其他人在编辑的时候,就出现数据正在修复中的字样
2、我重新再手机端进行更新,重新分享一份出去后,文档就能正常使用。
思考:1、是不是在电脑端调试代码的时候,进程占用了excle,导致在线文档编辑器就获取到错误的数据。而无法下载。
下一次改善:1、在线分发给qq人员 2、在线统计一周的人员填写情况,是否可以用大数据panda的方式进行处理。会不会有所加快速度
3、对应多线程或者说异步处理,能否一次性统计出一周的数据情况。
下文继续研究吧。