python win32ui选取文件夹_用Python整理Excel表格

一直都是拿Python来玩,今天正经一回,解决下好友的需求:

d4bf74dbf39c1707659f566f7987f28b.png

需求不复杂,读取文件夹中所有xls或xlsx表格文件,遍历每一张sheet单页,汇总所需要的数据生成新的xlsx表格。

思路

首要解决的就是xls和xlsx表格文件的读取问题。读取到数据后,对数据进行筛选重组,再写入新的xlsx文件中。

实现了单个表格的读取和写入,接下来就再添加遍历文件夹、筛选xls和xlsx格式文件的实现就大功告成了。

xlrd和xlsxwriter

xlrd是Python语言中,用来读取Excel的扩展工具。先安装xlrd后导入,代码中直接调用即可。

原本对应xlrd库的是xlwt库,但是xlwt不争气,只能写xls不能写xlsx格式,所以这里选用xlswriter模块。

读取所有xls和xlsx表格

遍历文件夹,选用os模块中的 os.walk(),返回路径、子文件夹和路径下的文件,通过对文件名后缀的筛选,将所有.xls和.xlsx文件添加到特定列表中供统一读取

数据处理

通过xlrd读取到的每行数据,代码中会被存到一个个list中,通过对python list元素的操作,我们完成对目标数据的加工和获取。

实例

由于朋友的表格数据涉及隐私,这里我拿公开的2019年和2018年国家公务员考试职位表来演示:

e9827e88020df0877da59a4e10ffd74c.png

2018.xlsx

dfcdea1622501284133faffc1837539f.png

2019.xls

两份表格中有2万多条信息。我们从中选取“部门名称”、“招考职位”、“职位简介”、“招考人数”、“专业”及“学历”等栏目,将所有这六栏的数据汇总到同一张新xlsx表格中,并注明数据来源。

运行代码,效果不错,秒级响应,共汇总了25802条数据:

9a5c31baa32fcd7f2150f92eb1e335cb.png

生成表格开头

e43a1bcccbcd53d1a6454f202a351f7b.png

生成表格结尾

回顾

回顾整个过程,思路没有问题,在接触每个模块后也作出了恰当的调整。实例中采用的表格数目很小、格式也很规范,所以代码也直接明了,方便展示代码思路和过程。

涉及到成百上千及更大量级的表格文件时,各种格式不规范导致的头疼问题就会出现了,这就要求更精确地数据加工和处理。不过也不慌,可以借助更便捷的工具和模块来进行处理,前人栽树、后人乘凉在Python里面可是很爽的,后续也会分享这方面的学习和应用。

代码下载

后台回复 表格 获取代码下载链接,稍加修改就可以解决很多基础的表格整理问题。

欢迎关注本公众号,如果你也有繁琐的操作想拿Python代码来解决,可以留言哈,力所能及的话定当全力以赴~

d15a2b617964cc818da8f269ae30b561.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值