首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel-Copy-终结篇

用Python许久,最近公司开始盛行报表,各种活堆积在我这。基本上的数据操作都用代码解决了,最后呈现报表的时候领导提了一个别致的需求:把所有表都放在同一个sheet中吧。

用惯了pandas的我竟然不知所措。

表1:

表2:

使用append:

这结果让人无法接受。

最让人头疼的是领导需求格式如下:

怎么操作呢?

pandas可以做,但过程太过曲折复杂,而且输出结果么有特定格式。是时候让我们的王者:openpyxl再现于世了。

在编程之前我们将要求的格式数据拷贝到一个新的Excel,并且给它附上自己喜欢的颜色、格式。

比如这样

然后清空所有数据:

并且保存为【模板.xlsx】。为啥这么做,看了你就明白了。

导入模块

读取数据

data为原始数据

模板为上面准备的样式

读取sheet名称

输出

两个表合并到一个表。

计算表1的最大横竖

复制信息

m,n维度

chr()把数字转化为字母。

运行结果

第一个表复制完毕。

复制第二个表

读取第二个sheet

重置-行列-数值

被复制的sheet2,按照行列差分别补上数值:2,6。

运行结果

和初始的一模一样。

三个表

从data中的2个sheet分别把代码拷贝到模板,上色上格式,然后导出到【领导要求数据.xlsx】中。

是不是觉得很简单,简单的没有必要这么做?不是的。假设一个报表你需要每天做,每个小时做,而且复制的表格多达几十页,并且需要按照神级领导的要求排版。你就会明白这么做的好处了。

所以在桌面保留好模板即可,每次产生data文件,点击运行代码即可完工。甚至可以写一个程序让代码定时定点自动运行数据,岂不更好。

全部代码

Excel的代码到这里就差不多了,暂时想不出其他有挑战的需求,如果你有什么别致的有难度的想法,可以留言。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190110G1CW9H00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券