熊猫要Excel写入现有的xlsx文件

时间:2020-10-01 13:14:36

标签: python pandas

我正在尝试将数据框写入一个工作簿上的现有Excel工作表。我在此excel工作簿中还有其他工作表,不应受到影响。我要覆盖的工作表是一个名为“数据”的选项卡。我下面的代码:

    df= pd.read_sql(sql='EXEC [dbo].[spData]', con=engine)

    excel_file_path = "C:/Shared/Test.xlsx"

    book = load_workbook(excel_file_path)
    writer = ExcelWriter(excel_file_path, engine='openpyxl')
    writer.book = book
    writer.sheets = dict((ws.title, ws) for ws in book.worksheets)

    df.to_excel(writer, sheet_name='Data', index=False, header=[
        'A','B','C','D','E','F'])
    writer.save()

该代码已经在调试模式下运行了很长时间,没有错误,但是我不确定以上内容在我期望的操作中是否正确。我可以看到该文件显示为0KB,因此它已经摆脱了其他工作表,因为原始文件为55939kb。我能够使用ExcelWriter和引擎'openpyxl'作为新工作表写入工作簿。但是在上面的代码中,我想用数据框中的数据替换工作表的内容。

1 个答案:

答案 0 :(得分:0)

这可以添加mode ='a'

   writer = ExcelWriter(excel_file_path, engine='openpyxl', mode='a')