如何使Pandas Excel编写器附加到工作簿中的现有工作表而不是创建新工作表?

问题描述 投票:0回答:1

我有一张excel工作簿,有两张('变量','固定')。与此同时,我有一个带有一些数据的数据框(pandas)。我想将数据框中的数据附加到该表中现有数据下面的工作表(“变量”)。但是,以下代码创建一个名为“variable1”的新工作表并转储数据,而不是附加到工作表'variable'。

path = "data.xlsx"
book = load_workbook(path)
writer = pd.ExcelWriter(path, engine='openpyxl', mode='a')
writer.book = book
df3.to_excel(writer, sheet_name="variable",startrow=9,
index=False,header=False)
writer.save()
writer.close()

我试过上面的代码。 df3是我的熊猫数据帧。我希望我的数据从第9行粘贴,因为现有数据直到表'变量'中的第8行。代码创建一个新工作表('variable1')并从第9行转储数据。我希望它将信息粘贴到工作表('变量')而不创建新工作。有人能帮我理解这种动态吗?

pandas openpyxl pandas.excelwriter
1个回答
0
投票

要附加Excel文档,请使用:

# open the workbook
wb = openpyxl.load_workbook('file_name.xlsx')
# assign a var to worksheet
ws = wb['sheet_name']

然后你可以做以下事情:

# write to cell 
wb['sheet_name'].cell(row=4, column=1).value = string_to_enter_to_cell

# format cells
for row in ws['A4:L4']:
        for cell in row:
            cell.value = None
            cell.border = no_border
© www.soinside.com 2019 - 2024. All rights reserved.