在Excel中追加到工作表将创建新的工作表,而不是追加

2022-04-07 00:00:00 python pandas excel openpyxl

问题描述

我正尝试使用此代码将数据框追加到Excel中的现有工作表中,但它并没有将新数据追加到其中,而是创建了一个新的工作表。代码如下:

import pandas as pd
import openpyxl as op

df = ['normal_dataframe']

with pd.ExcelWriter('test.xlsx', engine='openpyxl', mode='a') as writer:
    df.to_excel(writer, sheet_name='Sheet1', header=False, index=False)

"test.xlsx"有一个"Sheet1",但当追加文件时,有2个Sheet1。"Sheet1"和"Sheet11"。


解决方案

一种使用COM的方法:

import win32com.client

xl = win32com.client.Dispatch("Excel.Application")

path = r'c:UsersAlex20Documents	est.xlsx'
wb = xl.Workbooks.Open(path)
ws = wb.Worksheets("Sheet1")
ws.Range("E9:F10").Value = [[9,9],[10,10]]
wb.Close(True)
xl.Quit()

相关文章