用Python整理Excel表格

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

用Python整理Excel表格_第1张图片

需求不复杂,读取文件夹中所有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年国家公务员考试职位表来演示:

用Python整理Excel表格_第2张图片

2018.xlsx

用Python整理Excel表格_第3张图片

2019.xls

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

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

用Python整理Excel表格_第4张图片

生成表格开头

用Python整理Excel表格_第5张图片

生成表格结尾

回顾

 

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

 

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

代码下载

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

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

用Python整理Excel表格_第6张图片

你可能感兴趣的:(用Python整理Excel表格)