定时爬虫任务会有每天使用pandas将数据写入Excel表中的动作,但每天写入的行数会有不同,例如第一天写入5000行而第二天只写入3000行,会导致该表中前3000行是最新数据,后2000是前一天的数据。因此最好的方法是在将数据写入之前先将整个sheet清空,这里是先将sheet删除,写入时再新建sheet,同样的效果。
完整代码#获取Excel表内所有sheet名
workbook = openpyxl.load_workbook(r'D:sample.xlsx')
sheet_names = workbook.sheetnames
# print(sheet_names)
#判断是否存在指定sheet,存在即删除,并保存
if "sample_sheet" in sheet_names:
sheet1 = "sample_sheet"
workbook.remove(workbook[sheet1])
workbook.save(r'D:sample.xlsx')



