上篇文章从网上抓取表格数据后直接创建并写入Excel表格https://blog.csdn.net/jakera/article/details/124542162, 每次运行程序都需要创建文件,不符合程序逻辑,因此想进行改进。程序运行前先检查Excel文件是否存在,如果不存在则创建新文件,如果存在,则打开读取并在最后一行追加写入。没想到,这个需求居然需要两个库进行配合。
xlsxwriter只能创建和写入,不能在已存在的Excel中读取并写入新数据。只能使用openpyxl库来搭配使用。
于是,我在开始时便进行文件的检测:
#如果没有Excel文件(第一次运行),则创建
if(not os.path.isfile(excelFileName)):
wbo0k = xlsxwriter.Workbook(excelFileName)
wbo0k.add_worksheet()
wbo0k.close()
然后打开读取Excel表格
#读取Excel表
workbook = load_workbook(excelFileName)
worksheet = workbook.active
定位到表格的最后一行
curentRow=worksheet.max_row+1
另外,我需要记录数据当然的时间,写入Excel
curr_time = datetime.datetime.now()
time_str = curr_time.strftime("%Y%m%d")
#写入Excel表格中
worksheet.cell(curentRow,curentColum,time_str)
#光标进入下一列
curentColum+=1
最后,进行保存
workbook.save(excelFileName)
大功告成,效果如下,感谢阅读~