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

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

[[439485]]

一 前言

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

二、解决思路

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

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

三、解决方法

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

  1. # coding: utf-8 
  2. import pandas as pd 
  3. import openpyxl 
  4.  
  5. df = pd.DataFrame({'A': [], 'B': [], 'C': []}) 
  6. for year in range(1999, 2022): 
  7.     path_name = f'./{year}年.xlsx' 
  8.     with pd.ExcelWriter(path_name, engine='openpyxl', mode='w+'as writer: 
  9.         for month in range(1, 13): 
  10.             df.to_excel(writer, index=False, sheet_name=f'{month}月份'
  11. print('文件生成完成'

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

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

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

四、总结

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

【编辑推荐】

 

责任编辑:姜华 来源: Python爬虫与数据挖掘
相关推荐

2017-10-29 21:43:25

人脸识别

2021-02-10 09:34:40

Python文件的压缩PyCharm

2017-10-27 10:29:35

人脸识别UbuntuPython

2021-12-22 09:01:23

PythonExcelPython基础

2021-08-09 13:31:25

PythonExcel代码

2022-10-19 14:30:59

2020-05-26 10:20:56

Python开发工具

2021-02-02 13:31:35

Pycharm系统技巧Python

2021-12-11 20:20:19

Python算法线性

2022-01-27 09:24:20

PythonExcelPython基础

2009-08-27 18:10:58

PHP绘制3D图形

2018-12-10 10:00:06

Python神经网络编程语言

2020-05-09 09:59:52

Python数据土星

2022-08-04 10:39:23

Jenkins集成CD

2021-05-17 21:30:06

Python求均值中值

2021-05-10 06:48:11

Python腾讯招聘

2021-03-23 09:05:52

PythonExcelVlookup

2009-04-22 09:17:19

LINQSQL基础

2012-01-11 13:40:35

移动应用云服务

2021-08-02 23:15:20

Pandas数据采集
点赞
收藏

51CTO技术栈公众号