Day059|用Python处理excel数据之二

今天是Andy学Python的第59 天哦! 

大家好,我是Andy。

由于《Python编程快速上手——让繁琐工作自动化》openpyxl版本为2.1.4,目前openpyxl版本3.0.7,书中介绍的操作方法大多报错。找了几本电子教材,均无openpyxl介绍。本节内容源自openpyxl文档整理,文档地址:https://openpyxl.readthedocs.io/en/stable/index.html。

04.

工作表操作

操作工作表之前,可以查看工作薄中所有工作表名称,这个在上节已经讲过。

语法:wb.sheetnames

注意:该属性后面无小括号,返回工作薄中所有工作表名称的列表。

>>> print(wb.sheetnames)

结果:['Sheet1', 'Sheet2', 'Sheet3']

4.1 添加工作表

方法1 默认从末尾处添加一个新的工作表

from openpyxl import Workbook, load_workbook

wb = openpyxl.load_workbook("1.xlsx")

ws1 = wb.create_sheet("Mysheet")  # insert at the end (default)

wb.save("1.xlsx")   #  保存

方法2 在第一个工作表位置添加一个新的工作表

from openpyxl import Workbook, load_workbook

wb = openpyxl.load_workbook("1.xlsx")

ws2 = wb.create_sheet("Mysheet1",0)  # insert at first position

wb.save("1.xlsx")   #  保存

方法3 在倒数第二位添加一个新的工作表

from openpyxl import Workbook, load_workbook

wb = openpyxl.load_workbook("1.xlsx")

ws2 = wb.create_sheet("Mysheet3",-1)  # iinsert at the penultimate position

wb.save("1.xlsx")   #  保存

4.2 重命名工作表

一般excel按照顺序编号(Sheet1,Sheet2,Sheet3……)。

重命名工作表语法:

sheet.title = 'New Title'  # 直接赋值就可以改工作表的名称


4.3 删除工作表

方法一

wb.remove(sheet)


PS:教程是这样写的,鼓捣了两个多小时,没搞定。内存中删除了工作表,打开excel文件发现原工作表仍然存在。采用保存工作薄的方法查看,报错,<Worksheet "张三"> is not in list,原工作表不存在。Why?

先暂时搁置,过几天再来学习,看看错在哪里。

方法二

del wb[sheet]

该方法错误和remove相同,采用del,打开excel文件发现原工作表仍然存在。采用保存工作薄的方法查看,报错,<Worksheet "张三"> is not in list,原工作表不存在。

今天效果非常差,一是没有现成的书,没人教;二是看文档教程,很简略,自己倒腾半天,没实现效果。

好吧,可能网页翻译的教程语言理解有出入,先接着学其他内容吧。

51Day Day up!

向上向善,日进一步!

每天学习,努力成长!

定个小目标,开启成长的旅程,遇见更好的自己。

这是我们和自己的约定,许诺自己不负韶华。

路虽远,行则将至;事虽难,做则必成。

成长的最好时机,就是当下。

Copyright © 2021 Andy学Python

转载事宜请留言 | 获得授权后方可转载

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章