python删除excel表里sheet名为temp的表,并保存,,不要用openpyx和xlwings
时间: 2024-02-18 19:00:06 浏览: 60
可以使用Python内置的xlrd和xlwt库来完成这个任务。下面是一个简单的示例:
```python
import xlrd
import xlwt
import os
# 打开Excel文件
workbook = xlrd.open_workbook('example.xlsx')
# 获取所有sheet名称
sheet_names = workbook.sheet_names()
# 删除名称为'temp'的sheet
if 'temp' in sheet_names:
# 获取'temp'的索引
temp_index = sheet_names.index('temp')
# 删除'temp'的sheet
workbook._Workbook__worksheets.pop(temp_index)
# 创建新的Excel文件并复制所有的sheet
new_workbook = xlwt.Workbook()
for sheet_name in sheet_names:
sheet = workbook.sheet_by_name(sheet_name)
new_sheet = new_workbook.add_sheet(sheet_name)
for row in range(sheet.nrows):
for col in range(sheet.ncols):
new_sheet.write(row, col, sheet.cell_value(row, col))
# 保存新的Excel文件
new_workbook.save('new_example.xls')
# 删除原Excel文件
os.remove('example.xlsx')
```
在这个示例中,我们首先使用xlrd库打开了一个名为'example.xlsx'的Excel文件,并获取了所有sheet的名称。然后,如果该文件包含一个名称为'temp'的sheet,则使用pop方法从workbook对象中删除该sheet。然后,我们创建了一个新的xlwt.Workbook对象,并使用add_sheet方法向其中添加所有的sheet。最后,我们使用save方法将新的Excel文件保存为'new_example.xls',并使用os.remove方法删除原始的Excel文件。
阅读全文