手把手教你用Python批量创建1-12月份的sheet表,每个表的第一行都有固定3个列标题:A,B,C...

点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

夜来风雨声,花落知多少。

    大家好,我是Python进阶者。今天继续给大家分享Python自动化办公的内容,最近我发现学习自动化办公的小伙伴还是挺多的,创建了一个自动化办公专辑,欢迎大家前往学习:

【Excel篇】

1、盘点4种使用Python批量合并同一文件夹内所有子文件夹下的Excel文件内所有Sheet数据

2、手把手教你使用openpyxl库从Excel文件中提取指定的数据并生成新的文件(附源码)

3、手把手教你4种方法用Python批量实现多Excel多Sheet合并

4、手把手教你利用Python轻松拆分Excel为多个CSV文件

5、老板让我从几百个Excel中查找数据,我用Python一分钟搞定!

6、Python+Excel+Word一秒制作百份合同

7、Python 自动整理 Excel 表格

8、利用Python将Word试卷匹配转换为Excel表格

【未完待续......】

前言

    前几天在铂金交流群里,有个叫【LEE】的粉丝在Python交流群里问了一道关于Python自动化办公的问题,初步一看觉得很简单,实际上确实是有难度的,题目如下图所示。

cc04baa574dcd4b2dbbd207e72079a28.png

二、解决思路

    如果是按照常规思路,无非是先创建一个Excel表格,之后把1-12月份共12个表格依次在Excel工作簿中进行创建,之后给每一个表加入列标题A、B、C,再之后,我们依次复制该Excel表格,之后进行重命名,以年份作为表格命名。这个思路绝对是可行的,加以时间,肯定不在话下,我大概算了下,如果只是复制个20个Excel表,依次复制粘贴,之后重命名,大概算下来,如果不出错的情况下(比方说迷糊了,糊涂了......),需要5分钟左右的时间。不过这里给大家介绍一个使用Python自动化办公的方法来帮助大家解决问题,也保证不会出错,大概10秒钟左右就可以完成战斗。

    其实【LEE】自己也尝试使用Python来解决,不过却遇到了点问题,虽然Excel文件是创建了,但是后面的月份写入和列名写入失败了。

df6da70a2471fa82d4b1a80b624d128a.png

三、解决方法

    这里给出【🌑(这是月亮的背面】大佬】提供的代码,大体思路其实是差不多的,但是实现的方法却是用Python程序来实现的,效率就十分不一样了。下面直接来看代码吧!

# coding: utf-8
import pandas as pd
import openpyxl


df = pd.DataFrame({'A': [], 'B': [], 'C': []})
for year in range(1999, 2022):
    path_name = f'./{year}年.xlsx'
    with pd.ExcelWriter(path_name, engine='openpyxl', mode='w+') as writer:
        for month in range(1, 13):
            df.to_excel(writer, index=False, sheet_name=f'{month}月份')
print('文件生成完成')

    这里大佬使用了openpyxl写入引擎,先把列名模板写好,之后遍历年份,创建Excel表格,之后写入月份,不得不惊叹,竟然还有这种写法,让人为之一惊!

    代码运行之后,在代码目录下会自动生成相应的Excel文件,如下图所示。

ad0c69cbdffac0fca19614f5a2c10268.png

    之后每个Excel表格中,也有对应的月份和A、B、C列名,如下图所示。

1c0b57bfae67b72553ee9b604f18b484.png

四、总结

    我是Python进阶者。本文基于粉丝针对Python自动化办公的提问,给出了一个利用Python基础+openpyxl的解决方案,完全满足了粉丝的要求,给粉丝节约了大量的时间。

    最后感谢【🌑(这是月亮的背面】大佬提出的代码和建议,感谢【LEE】提问。文章给出了一种解决方法,如果你也有其他的方法,也可以随时分享给我噢!人生苦短,我用python!

  更多Python自动化办公的相关代码,我已经上传到git,欢迎大家下载和star支持。

https://github.com/cassieeric/Python-office-automation

8f2ab744bc287007a867956bf5c5407a.png

    小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。

2aa88eb3a0af119e09c7d690a89402b9.png

------------------- End -------------------

往期精彩文章推荐:

a8261081eb335964c1237e093c9932a6.png

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

/今日留言主题/

随便说一两句吧~~

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值