前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >别再一个一个的修改了,python几行代码就可以修改上百个工作表名称!

别再一个一个的修改了,python几行代码就可以修改上百个工作表名称!

作者头像
Python与Excel之交
发布2021-08-05 14:46:56
5160
发布2021-08-05 14:46:56
举报
文章被收录于专栏:Python与Excel之交

当你要重复做一件事时,你就要想到python,因为这样会为你省下很多时间。

在上一期python办公自动化中,我们讲解了python如何按指定需求填充数据并修改了工作表名称:python办公自动化_批量向excel填充数据。

上一期的内容虽然也涉及修改工作表名称,但都是在新建工作表时进行重命名工作表名称。

而今天的案例确是在已经存在的工作表上进行修改,而要修改的名称也是从单个工作表内容中获取,简而言之,需求就是:获取指定工作表单元格的内容,修改为工作表的名称。

我们今天用的是上一期的结果,这里工作表名称做了修改,我们来看下工作表格式,它长这样:

我们需要把工作表B2单元格的内容作为工作表名称。

代码实现

导入openpyxl模块:

代码语言:javascript
复制
import openpyxl

导入数据源并获取所有工作表:

代码语言:javascript
复制
wb = openpyxl.load_workbook('猫眼电影信息.xlsx')
wb.get_sheet_names()

这里虽然获取了工作表,但我们不能直接修改,还需要获取工作表B2单元格的内容,所以我们建立一个for循环,遍历所有的工作表,最后的代码给了详细的注释,这里不做赘述:

代码语言:javascript
复制
for i in wb:
    sheet = wb.copy_worksheet(i)   # 复制原有工作表
    sheet.title = i['B1'].value  # 提取内容,并重命名工作表
    wb.remove(i)    # 删除原有工作表
wb.save("猫眼电影信息.xlsx")

运行后,不过几秒钟就可以搞定了:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与Excel之交 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档