多个dataframe对象写入一个excel中不覆盖原有内容
时间: 2024-05-16 20:15:39 浏览: 83
可以使用 pandas 库中的 ExcelWriter 对象来实现多个 DataFrame 写入同一个 Excel 文件而不覆盖原有内容。具体步骤如下:
1. 创建一个 ExcelWriter 对象,指定要写入的 Excel 文件的路径和文件名。
2. 使用 ExcelWriter 对象的 `book` 属性获取一个 `workbook` 对象,然后使用 `add_sheet()` 方法创建一个新的工作表。
3. 将每个 DataFrame 写入新工作表中。
4. 最后使用 `save()` 方法保存 Excel 文件。
下面是一个示例代码:
```python
import pandas as pd
# 创建多个 DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]})
# 创建 ExcelWriter 对象
writer = pd.ExcelWriter('test.xlsx', engine='openpyxl')
# 将每个 DataFrame 写入新工作表中
df1.to_excel(writer, sheet_name='Sheet1')
df2.to_excel(writer, sheet_name='Sheet2')
# 保存 Excel 文件
writer.save()
```
在这个示例中,我们首先创建了两个 DataFrame,然后使用 `pd.ExcelWriter()` 方法创建了一个 ExcelWriter 对象,并指定要写入的 Excel 文件的路径和文件名。接着,我们将每个 DataFrame 分别写入一个新的工作表中,并使用 `writer.save()` 方法保存 Excel 文件。这样,我们就可以在同一个 Excel 文件中创建多个工作表,而不会覆盖原有内容。
阅读全文