当前位置:   article > 正文

element ui 表格拆分表格_python拆分表格数据

怎么将element表格分成若干个小的表格

Life is short , you need Python .

keyword:excel读取、拆分数据、生成文档

如果不想成为一个循环流水动作的机器人,或许可以想想其他方法。

有时候,慢即是快~

目标:老板丢来全集团员工名单,要求按子公司拆分数据,每个公司一个人员文档,大约100个公司信息,近2w条人员数据。

分解目标:

1、读取文件

2、处理数据

3、保存新文档

01

读取文件

使用模块:openpyxl中的load_workbook、Workbook

读取文件先了解文件的存储路径,读取工作簿,再读取工作簿中的工作表;

由于本工作簿只有一张工作表,我们不需要通过工作表名来获取工作表,通过获取活动工作表就可以。

获取表格的代码如下:

# 导入第三方库,为了后续书写简介,用from...import...方式导入from openpyxl import load_workbook,Workbook# 打开工作簿,获取活动工作表wb  = load_workbook('./组织人员数据.xlsx')ws = wb.active

02

处理数据

使用模块:openpyxl中的iter_rows函数

我们观察一下老板丢过来的文件:

56d97d87a7204c1c0748e19df523c8f8.png

首行表头,这是后续生成新文档每个文档都需要的;

from openpyxl import load_workbook,Workbook# 打开工作簿,获取活动工作表wb  = load_workbook('./组织人员数据.xlsx')ws = wb.activetitle=['用户名','人员姓名','人员编号','法人实体','组织','部门','职位','职务','工作电话','工作手机号','是否可用','角色名称','角色描述']# 表头获取也可以用iter_rows读取第一行

根据公司名称来拆分数据,对应表格中【法人实体】这一列内容:

如果A员工的法人实体为X公司,他的数据应该被放到X公司的文档中。

1、这意味着需要根据法人实体这一列,创建文档并以此命名;

2、根据法人实体这一列将员工数据逐条分发到对应文档

这一阶段的代码如下:

from openpyxl import load_workbook,Workbooklist=[]# 打开工作簿,获取活动工作表wb  = load_workbook('./组织人员数据.xlsx')ws = wb.activefor row in ws.iter_rows(min_row=2,values_only=True):    if row[3] not in list:        list.append(row[3])        org_wb=Workbook()        org_ws=org_wb.active        org_ws.append(title)        org_ws.append(row)    else:        org_ws=org_wb.active        org_ws.append(row)

为了快速测试,我们可以复制少量数据进行测试,或者过程中用print输出查看,待确认没有问题,我们在使用原数据运行。

03

保存新文档

使用模块:openpyxl中的save函数

这段代码如下:

from openpyxl import load_workbook,Workbookorg_wb.save('./newfile/{}.xlsx'.format(row[3]))

最终我们可以运行,看到文件哗啦啦出现在指定文件夹中:

a980fda1184030eaeba0522ccecc3314.png

思考题

- 如果只想筛选出在职人员,怎么优化?

- if...else部分比较冗余,怎么优化?

以上就是全部啦,回到公众号中发送【拆分数据】可以获得源码。

版权声明:转载请附上原文出处及链接。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/171131
推荐阅读
相关标签
  

闽ICP备14008679号