【发布时间】:2021-01-17 05:22:11
【问题描述】:
我正在尝试将数据框写入一个工作簿上的现有 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,因此它已经摆脱了其他工作表,因为原始文件是 55,939kb。我能够使用 ExcelWriter 和引擎“openpyxl”将工作簿作为新工作表写入。但在上面的代码中,我想用我的数据框中的数据替换工作表的内容。
【问题讨论】: