首页  >  文章  >  后端开发  >  如何使用 Pandas 将新工作表附加到现有 Excel 文件?

如何使用 Pandas 将新工作表附加到现有 Excel 文件?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-04 11:04:30196浏览

How to Append New Sheets to Existing Excel Files Using Pandas?

使用 Pandas 将新工作表添加到现有 Excel 文件

Pandas 提供了一个方便的界面来处理 Excel 文件。然而,将新工作表保存到现有文件时,用户经常会遇到挑战。本文解决了这个问题并提供了全面的解决方案。

现有代码:

提供的代码将两个 DataFrame 保存到两张表中,但无法在不丢失数据的情况下添加更多表由于关闭 ExcelWriter 对象而产生的原始数据。

最佳方法:

理想的工作流程包括创建 Excel 文件、保存一些数据、关闭 ExcelWriter,然后重新打开它可以添加更多纸张。这种方法可确保数据保存。

Openpyxl 集成:

要附加工作表而不丢失数据,Pandas 可以使用 Openpyxl。 Openpyxl 允许直接操作 Excel 文件。通过使用 load_workbook 加载现有文件并将其设置为 ExcelWriter 的书,我们可以添加新工作表而不影响现有工作表。

完整示例:

这里有一个完整示例:

<code class="python">import pandas as pd
import numpy as np
from openpyxl import load_workbook

path = r"C:\Users\fedel\Desktop\excelData\PhD_data.xlsx"

# Generate initial data
x1 = np.random.randn(100, 2)
df1 = pd.DataFrame(x1)

x2 = np.random.randn(100, 2)
df2 = pd.DataFrame(x2)

# Write initial sheets
writer = pd.ExcelWriter(path, engine='xlsxwriter')
df1.to_excel(writer, sheet_name='x1')
df2.to_excel(writer, sheet_name='x2')
writer.close()

# Open existing file and add new sheets
book = load_workbook(path)
writer = pd.ExcelWriter(path, engine='openpyxl')
writer.book = book

# Generate new data
x3 = np.random.randn(100, 2)
df3 = pd.DataFrame(x3)

x4 = np.random.randn(100, 2)
df4 = pd.DataFrame(x4)

# Append new sheets
df3.to_excel(writer, sheet_name='x3')
df4.to_excel(writer, sheet_name='x4')

writer.close()</code>

此代码首先生成两个工作表并关闭 ExcelWriter。然后,它重新打开文件并利用 Openpyxl 添加另外两张表,保留原始数据。

以上是如何使用 Pandas 将新工作表附加到现有 Excel 文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn