element ui 表格拆分表格_python拆分表格数据
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函数
我们观察一下老板丢过来的文件:
首行表头,这是后续生成新文档每个文档都需要的;
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]))
最终我们可以运行,看到文件哗啦啦出现在指定文件夹中:
思考题
- 如果只想筛选出在职人员,怎么优化?
- if...else部分比较冗余,怎么优化?
以上就是全部啦,回到公众号中发送【拆分数据】可以获得源码。
版权声明:转载请附上原文出处及链接。
element ui 表格拆分表格_python拆分表格数据相关推荐
- vue element ui 利用xslx导出文档表格功能(纯前端导出下载文档)
目录 前言 步骤: 1.下载xslx 2.导入xslx 3.template中给个点击事件 4.methods中定义函数实现导出 前言 本篇文章记录纯前端导出下载文档功能. 若想查看从后端接收文件流, ...
- element ui 的table的表头和表格没对齐
在 app.vue的style里面加上 /* 解决element-ui的table表格控件表头与内容列不对齐问题 */.el-table th.gutter{display: table-cell!i ...
- python word 表格 框线_python设置表格边框的具体方法
安装 xlwings 直接安装用 pip install xlwings,用 anaconda 的,已经内置了,见下图. 导入 xlwings import xlwings as xw 打开 Exce ...
- python表格处理实例_python列表格
三款新功能发布,助力阿里云表格存储再次升级 阿里云表格存储于近期功能再升级,升级后的表格存储支持对DataHub采集的数据进行持久化存储,其Python SDK新增支持Python 3.x,以及最新发 ...
- element ui前端排序,某列有数据为空值时,排序错乱问题
表格排序列的数据出现空值时,组件自带的排序功能不正常.而后查找了相关解决方法,有一网友给了我启示,解决了问题,现在照着思路写下步骤,日后再次遇到方便查找 解决方式是重新定义一个新数组:遍历表格数据da ...
- element ui table中想使得其中一列数据拥有横向滚动条的效果
给需要展示的内容创建一个盒子将其包裹住,在css样式中插入这3行属性即可 width:80px; white-space:nowrap; overflow-x:scroll
- Element ui 中 el-cascader 级联动态加载数据方法
话不多说,上代码 html部分: <el-cascader :props="treeOption" @change="onChange" style=&q ...
- element ui table的show-overflow-tooltip属性以及设置其宽度
用vue+element ui框架,用到table表格,如果每列显示的内容过长则可以使用该属性,即 :show-overflow-tooltip="true",该属性可以让内容在一 ...
- python按某列拆分excel表格_Python实现将excel表格按某列拆分为多个sheet(模板格式不变)...
#将一个excel表格,按照某列分为不同的sheet,并且将id作为sheet表格的名称 from openpyxl import load_workbook #加载需要拆分的总表个 wb = loa ...
- vue2.0 + element ui 实现表格穿梭框
element ui 官网里介绍了穿梭框(Transfer),但在实际使用过程中,会出现一些问题: 1.穿梭框里能放置的内容太少,不能满足复杂的业务需求. 2.当选项过多时,穿梭框很难实现分页,左右两 ...
最新文章
- 9月21日科技联播:报告显示网约车案发率低于传统出租车;刘强东性侵案已移交美国检方...
- Scala的类和对象
- 去除icon图标特效,阴影,反光
- 文件操作之按照字符读写文件
- python转成exe_将python程序转换成exe程序
- 正则替换让一部分内容保持不变
- 亚洲综合竞争力排名发布:韩国位居第1,中国第9,大家怎么看?
- [探索 .NET 6]02 比较 WebApplicationBuilder 和 Host
- Google SVN托管和使用学习笔记
- 谷歌:CNN击败Transformer,有望成为预训练界新霸主!LeCun却沉默了...
- 8个最高效的Python爬虫框架,你用过几个?
- 新年春节海报模板|中国风艺术元素,就是不一样!
- 使用旧版本tensorflow出现了negative等报错的问题,AttributeError: 'module' object has no attribute 'xxx'
- 记录一次游戏服务器的压测调优记录(Golang语言)
- (转)Astar寻路教程
- 深度学习入门之猫vs狗(超简单)
- 道路照明智能监控用5G智慧灯杆网关
- c语言程序设计会出现什么问题,计算机C语言程序设计过程中的常见问题分析和研究...
- DHCP报文及其格式
- 伤害世界服务器修改,伤害世界获取GM权限修改方法讲解
热门文章
- vm虚拟机 centos7 联网(设置静态ip)
- java条件触发,触发器触发条件是什么?更改数据时实现方法是什么?
- 计算机原理内存详解,【讲给小白的计算机原理】什么是内存,内存的作用?
- java string是final_关于java:String和Final
- 2 Linux基本命令复习2
- Android Studio 创建/打开项目时一直处于Building“project name”Gradle project info 的解决...
- Phoenix Tips (8) 多租户
- 高质量程序设计指南c++/c语言(19)--赋值操作符“=”
- dockerfile入门
- 并发编程学习之线程池