如果要写入的数据框为空或行数小于原始数据,如何清除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上有其他工作表,代码的其他部分必须访问这些工作表
你可以看到how to overwrite excel sheets here。据我所知,您可能只需要添加
writer.save()
,或者使用默认的writer = pd.ExcelWriter('g.xlsx')
而不是您正在使用的如果所有其他操作都失败,您可以在写入工作表之前删除该工作表:
不过,请检查链接
相关问题 更多 >
编程相关推荐