使用 Pandas 的 ExcelWriter 对象将新的数据写入到工作簿的新 sheet 中,且保留其他sheet
时间: 2024-05-06 15:16:16 浏览: 61
可以使用 Pandas 的 ExcelWriter 对象的 `mode` 参数来实现在现有工作簿中添加新 sheet 的功能。具体步骤如下:
1. 使用 Pandas 的 read_excel 函数读取现有的 Excel 文件,并将其存储在 DataFrame 对象中。
```python
import pandas as pd
# 读取现有的 Excel 文件
df = pd.read_excel('existing_workbook.xlsx', sheet_name='Sheet1')
```
2. 创建一个 ExcelWriter 对象,并使用 `mode='a'` 参数来打开现有的工作簿,以便在其中添加新 sheet。
```python
# 创建 ExcelWriter 对象
writer = pd.ExcelWriter('existing_workbook.xlsx', engine='openpyxl', mode='a')
# 将 DataFrame 写入到新的 sheet 中,sheet_name 参数指定新 sheet 的名称
df.to_excel(writer, sheet_name='New Sheet')
# 保存并关闭 ExcelWriter 对象
writer.save()
writer.close()
```
在这个例子中,我们使用了 `engine='openpyxl'` 参数来指定使用 openpyxl 引擎来读取和写入 Excel 文件。这是因为 Pandas 默认使用 xlrd 和 xlwt 库来读写 Excel 文件,但这两个库无法处理 xlsx 格式的 Excel 文件。如果你的 Excel 文件是 xlsx 格式的,那么必须使用 openpyxl 引擎。
需要注意的是,如果你使用 Pandas 的 to_excel 函数来写入 Excel 文件,它会覆盖整个工作簿,而不是添加新 sheet。因此,我们必须使用 ExcelWriter 对象来实现添加新 sheet 的功能。
阅读全文