用python批量删除sheet

因为工作关系维护了一个Excel文件,格式是xlsx,每天一个sheet,从17年下半年到目前已经有上百个sheet,导致文件越来越大,发邮件加载也变得很慢。想要删除一部分,保留近一个月的,当然手动删除是不可能手动的。

用python调用openpyxl库来操作,简直不要太爽。

In [2]: import openpyxl
In [4]: workbook = openpyxl.load_workbook('test01.xlsx')

In [6]: print(workbook.get_sheet_names())
['1.1', '1.2', '1.3', '1.4', ……,'7.10', '7.11', '7.12']

# 把自己想删除的表格的sheet的名字复制到一个列表里,方便遍历删除
In [7]: L = ['1.1', '1.2', '1.3', …… ,'5.30', '5.31']
In [10]: for i in L:
    ...:     workbook.remove_sheet(workbook.get_sheet_by_name(i))
    ...:     

In [11]: print(workbook.get_sheet_names())
[ '6.12', '6.13',……, '7.9', '7.10', '7.11', '7.12'


In [29]: workbook._active_sheet_index = 0
In [30]: workbook.save('test02.xlsx')

#workbook._active_sheet_index = 0,加这一行,是因为没加的话,保存的时候总是报如下错误
return self._sheets[self._active_sheet_index]
IndexError: list index out of range

参考链接:
openpyxl: remove_sheet causes IndexError: list index out of range error on saving sheet
Python Excel解析
Python xlwd 读取excel xlwt 写入excel xlutils 修改excel
python高手之路python处理excel文件(方法汇总)
Python操作Excel表格(openpyxl)
python操作excel

其他学习链接:
Python模块:xlwt、xlrd、openpyxl
用Python格式化Excel中的单元格
Python xlwt设置excel单元格字体及格式
OpenPyXL的使用教程(一)
python操作excel文件——Python Excel Tutorial 指南
Python自动化运维笔记(七):XlsxWriter模块实现Excel操作(上)
Python自动化运维笔记(六):使用smtplib模块发送电子邮件
Python自动化运维笔记(八):XlsxWriter模块实现Excel操作(下)
Python Excel操作模块XlsxWriter之写入worksheet.write()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • python学习笔记 声明:学习笔记主要是根据廖雪峰官方网站python学习学习的,另外根据自己平时的积累进行修正...
    renyangfar阅读 3,124评论 0 10
  • 在前面抓取高考分数线的文章中,我们用到了 openpyxl 模块来存储数据到 Excel,今天带大家学习一下该模块...
    hoxis阅读 1,065评论 0 19
  • 最近在网上爬取奥运项目资料,并写入Excel中。在写到Excel中是用到了OpenPyXL,翻译了一部分自己用到的...
    LeeLom阅读 201,116评论 7 78
  • 一滴泛着蓝紫色的泪 落在了我银色的镂空球里 那是人鱼的眼泪 人鱼的眼泪是冰冷的 我想把这滴泪还给她 人鱼告诉我 那...
    狸果阅读 374评论 0 3
  • 春天来了 新的味道 茶 最绕不开的是新 常言道 酒饮陈 茶饮新 明前 雨前各家争艳 夺鲜之首 是不是越鲜越好 越早...
    玥烨阅读 278评论 0 0