python 学习日记WE

Python通过Openpyxl包汇总表格,效率提升100倍

2019-05-11  本文已影响2人  小黑天天快乐

最近找了份小兼职,干的全是些无聊的工作,比如说给word调整一下排版啦、把从多方回收来的Excel汇总啦,这些极其催眠又耗时的事,怎么能接受手动去做呢!!(疯了嘛,谁知道以后还有多少类似的表格要汇总啊!)

于是乎,聪明如我,花了一个小时撸了个小脚本,完成本次,再也不用打开几十张表一个个复制粘贴了。

现在进入正题,本次小脚本的开发环境:

怎么安装我就不废话了,pip或者conda都行。

首先要搞清楚Excel表的层级关系,从大到小依次为:

Workbook(工作簿,也就是excel文件) -> Worksheet(工作表,界面下方的标签) -> Cell(单元格)

操作Excel文件的步骤如下:

判断表的行数

除此之外,每个表的行数不同,要保证数据不漏掉,需要判断表的行数,这里仅提供一个思路:

  1. 粗略估计一个行数上限M(可以偏大,但不能小)
  2. 假设有数据的行,第一列都有值(根据你的表自行调整)
  3. 进行二分查找,先判断M/2处是否有值:
    • 若无:判断M/4处是否有值
    • 若有:判断3M/4处是否有值
      这样一直循环就可以得到行数。

要汇总的话,只需要os.walk当前文件夹,遍历打开表格,把里面的内容复制到汇总表中即可。详细代码可参见我的代码仓库:
https://code.aliyun.com/15821912398/useful_scripts

大家可以继续挖掘这个包里的其他功能,比如“合并单元格” 等等。

上一篇 下一篇

猜你喜欢

热点阅读