pandas用excel 删除sheet1
时间: 2023-07-12 07:08:01 浏览: 138
可以使用 `pandas.ExcelWriter` 和 `pandas.read_excel` 方法来实现删除Excel文件中的sheet1。具体步骤如下:
1. 使用 `pandas.read_excel` 方法读取原始Excel文件,将其存储在一个变量中。
```python
import pandas as pd
# 读取原始Excel文件
excel_file = pd.read_excel('file.xlsx', sheet_name=None)
```
2. 使用 `pandas.ExcelWriter` 方法创建一个新的 Excel 文件对象,并将原始 Excel 文件中的所有工作表复制到这个新文件中。
```python
# 创建一个新的Excel文件对象
writer = pd.ExcelWriter('new_file.xlsx', engine='xlsxwriter')
# 复制原始 Excel 文件中的所有工作表到新文件中
for sheet_name, df in excel_file.items():
df.to_excel(writer, sheet_name=sheet_name, index=False)
# 保存并关闭 Excel 文件
writer.save()
```
3. 删除新 Excel 文件中的 sheet1 工作表。
```python
import os
# 删除新 Excel 文件中的 sheet1 工作表
os.remove('new_file.xlsx')
os.rename('new_file - Copy.xlsx', 'new_file.xlsx')
```
完整代码如下:
```python
import pandas as pd
import os
# 读取原始Excel文件
excel_file = pd.read_excel('file.xlsx', sheet_name=None)
# 创建一个新的Excel文件对象
writer = pd.ExcelWriter('new_file.xlsx', engine='xlsxwriter')
# 复制原始 Excel 文件中的所有工作表到新文件中
for sheet_name, df in excel_file.items():
df.to_excel(writer, sheet_name=sheet_name, index=False)
# 保存并关闭 Excel 文件
writer.save()
# 删除新 Excel 文件中的 sheet1 工作表
os.remove('new_file.xlsx')
os.rename('new_file - Copy.xlsx', 'new_file.xlsx')
```
注意:`pandas.ExcelWriter` 方法创建的 Excel 文件对象默认情况下不支持删除工作表,因此需要将原始 Excel 文件中的所有工作表复制到一个新的 Excel 文件中,然后再删除新文件中的 sheet1 工作表。
阅读全文