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

时间:2019-04-25 17:25:31

标签: pandas openpyxl pandas.excelwriter

我有一本Excel工作簿,里面有两张纸(“变量”,“固定”)。同时,我有一个带有一些数据的数据框(熊猫)。我想将数据框中的数据附加到该工作表中现有数据下方的工作表(“变量”)中。但是,以下代码创建了一个名为“ 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行的数据。我希望它将信息粘贴到工作表中('variable'),而不要创建一个新的工作表。 有人可以帮助我了解这种动态吗?

1 个答案:

答案 0 :(得分: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