使用 Pandas 在现有 Excel 文件中保存新工作表
目标是将多个工作表写入现有 Excel 文件而不覆盖现有 Excel 文件data.
原始代码:
提供的代码使用“xlsxwriter”引擎将两个 DataFrame 保存到 Excel 文件中的两个工作表中。但是,尝试添加新工作表会导致原始数据丢失。
使用“openpyxl”引擎:
要保留现有数据,请使用“openpyxl”引擎。下面的代码演示了如何做到这一点:
import pandas as pd
import numpy as np
from openpyxl import load_workbookpath = r"C:UsersfedelDesktopexcelDataPhD_data .xlsx"
使用初始工作表创建 Excel 文件
x1 = np.random.randn(100, 2)
df1 = pd.DataFrame(x1)x2 = np.random.randn(100, 2)
df2 = pd.DataFrame(x2)writer = pd.ExcelWriter(path, engine='xlsxwriter')
df1.to_excel (writer,sheet_name='x1')
df2.to_excel(writer,sheet_name='x2')
writer.close()加载工作簿并将其附加到 writer
book = load_workbook(path)
writer = pd.ExcelWriter(path, engine='openpyxl')
writer.book = book添加新工作表和 DataFrame
x3 = np.random.randn(100, 2)
df3 = pd.DataFrame(x3)x4 = np.random.randn(100, 2)
df4 = pd.DataFrame (x4)df3.to_excel(writer,sheet_name='x3')
df4.to_excel(writer,sheet_name='x4')
writer.close()
pre>理解代码:
代码循环遍历工作表并将它们分配给一个字典,其中键是工作表标题,值是工作表对象。这允许编写者将新的工作表和数据附加到现有文件,而无需覆盖现有工作表。
以上是如何使用 Pandas 将新工作表添加到现有 Excel 文件而不覆盖数据?的详细内容。更多信息请关注PHP中文网其他相关文章!