统计python提升工作效率_使用python解析excel实现工作效率统计

因为工作关系,常需要分析成员每周工作情况。如果靠人工统计,费力又耗时,想到何不利用python自动化来完成这样的工作

主要思路就是,通过python从原始数据中,统计出一周内每个人在各种事件中耗费的时间,保持到一个sheet中

首先需要用到python里面几个操作excel的库

from openpyxl.workbook import Workbook

#ExcelWriter,里面封装好了对Excel的写操作

from openpyxl.writer.excel import ExcelWriter

from openpyxl.reader.excel import load_workbook并加载解析输入参数的库

from optparse import OptionParser接下来,先解析输入参数,获得要操作的文件路径

usage = 'Usage: %prog file'

parser = OptionParser(usage)

(options, args) = parser.parse_args()

path = args[0]然后,通过load_workbook打开excel文档

wb=load_workbook(path)接着,创建新的sheet,并从原有sheet中获得原始数据

whs_sheet = wb.create_sheet(title='whs')

data_sheet = wb.get_sheet_by_name("owssvr")下面就开始计算原始数据的最大行列数和新建sheet的最大行列数

MaxRow = data_sheet.max_row

MaxColumn = data_sheet.max_column

MaxWhsRow = len(NameList)

MaxWhsColumn = len(WhsList)再创建一个二维数组,对应人名和事件的映射

WhsArry = [[0 for i in range(MaxWhsColumn-1)]for i in range(MaxWhsRow)]接下来,就是通过几个循环,来将数据统计好并写入到新建的sheet中

for name in NameList:

for Row in range(2, MaxRow+1):

if name.split('.', 1)[0] == data_sheet.cell(row=Row, column=2).value.split(' ', 1)[0]:

whs = data_sheet.cell(row=Row, column=8).value

hous = data_sheet.cell(row=Row, column=6).value

WhsArry[NameList.index(name)][WhsList.index(whs)-1] = WhsArry[NameList.index(name)][WhsList.index(whs)-1] + hous

for Row in range(2, MaxWhsRow+2):

for Column in range(2, MaxWhsColumn+1):

if Column == MaxWhsColumn:

for count in range(2, MaxWhsColumn+1):

CellFrom = 'B'+str(Row)

CellTo = 'H'+str(Row)

whs_sheet.cell(row=Row, column=Column).value = '=SUM('+CellFrom+':'+CellTo+')'

else:

whs_sheet.cell(row=Row, column=Column).value = WhsArry[Row-2][Column-2]最后,通过save将对文档的修改保存下来

wb.save(path) 整个程序,其实相当简单,基本有点编程基础的都能完成,主要是在工作过程中,能时时保持“偷懒”的习惯,能够程序做的事情,尽量不要人工来做

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值