如果数据框为空,则删除/清除工作表

2024-09-25 02:24:46 发布

您现在位置:Python中文网/ 问答频道 /正文

如果要写入的数据框为空或行数小于原始数据,如何清除Excel工作表

基本上

excel中的工作表:

Header1   Header2   Header3
aaa       bbb       ccc
ddd       eee       fff

数据帧:

Header1   Header2   Header3
111       222       333

excel工作表上的预期输出:

Header1   Header2   Header3
111       222       333

我得到的是:

Header1   Header2   Header3
111       222       333
ddd       eee       fff

我使用的代码是:

book = load_workbook(filepath)
writer=pd.ExcelWriter(filepath, engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
Df.to_excel(writer,"Outstanding", index = False, header=True)

是否有办法清除工作表或覆盖整个工作表,而不是仅覆盖其中包含数据的单元格?数据框是动态的,可以是空的,这意味着如果是这种情况,工作表应该是空的。excel上有其他工作表,代码的其他部分必须访问这些工作表


Tags: 数据代码原始数据wsfffexcelwriterddd
1条回答
网友
1楼 · 发布于 2024-09-25 02:24:46

你可以看到how to overwrite excel sheets here。据我所知,您可能只需要添加writer.save(),或者使用默认的writer = pd.ExcelWriter('g.xlsx')而不是您正在使用的

如果所有其他操作都失败,您可以在写入工作表之前删除该工作表:

std=book.get_sheet_by_name(<sheet_name>)
book.remove_sheet(std)

不过,请检查链接

相关问题 更多 >