python删除excel内容_用python批量删除sheet
因為工作關(guān)系維護(hù)了一個Excel文件,格式是xlsx,每天一個sheet,從17年下半年到目前已經(jīng)有上百個sheet,導(dǎo)致文件越來越大,發(fā)郵件加載也變得很慢。想要刪除一部分,保留近一個月的,當(dāng)然手動刪除是不可能手動的。
用python調(diào)用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的名字復(fù)制到一個列表里,方便遍歷刪除
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
總結(jié)
以上是生活随笔為你收集整理的python删除excel内容_用python批量删除sheet的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java需要掌握的底层知识_Java程序
- 下一篇: java调用python_Python教