小白学自动化| Excel自动化太简单了....

大家好,我是Kuls。

一个不爱内卷,热爱*的程序员。

上期我们主要讲了上面是自动化、自动化能做什么以及excel自动化相关的知识。同时也给大家分享了34款自动化第三方库。

今天我们仍然来讲讲Excel相关的自动化知识。

在上期中我们更多的是去讲excel相关的读取操作,熟悉编程的读者应该知道增删改查是我们的日常工作。

这个也不例外,所以我们得来学学增删改怎么操作。

其实与xlrd对应的一个库就是xlwt,其实很好区分,r就是read即读取,w就是write即写入。

按照正常流程,我们自动化里,如果想要去写入一个excel文件,那么首先肯定是得创建一个excel文件,那么需要我们手动创建吗?

当然不需要。

只需要几行代码就能够搞定:


import xlwt# 新建一个Workbook对象new_excel = xlwt.Workbook()# 添加一个工作表sheet1 = new_excel.add_sheet('Sheet1')


其中Workbook对象可以简单理解为excel对象。

到了这一步基本上excel就创建完毕,并且我们还创建了一个工作表,因为工作表是我们操作的环境。

那么如何添加数据呢?


sheet1.write(0, 0, 'Python进击者')


简单一步即可搞定,最后保存文件:


new_excel.save('kuls.xls')


大功告成!简单粗暴,我们来看下效果:


小白学自动化| Excel自动化太简单了....


可以看到没毛病,到这大家可以跟着我一起敲一遍代码,这样你就能够亲自去体验一下。


import xlwt# 新建一个Workbook对象new_excel = xlwt.Workbook()# 添加一个工作表sheet1 = new_excel.add_sheet('Sheet1')sheet1.write(0, 0, 'Python进击者')new_excel.save('kuls.xls')


完整代码如上。

xlwt其实不是完美的,它有很多不太给力的地方,这里给大家列出来几个:

1、如果使用xlwt来操作已经存在的excel文件,那么会报错。

2、如果对相同的单元格进行重复的赋值操作,也会报错。

3、xlwt只支持生成xls格式的文件,不支持xlsx。

可能大家看了这些缺点觉得很不可思议,那这些操作要怎么去实现呢?

大家继续关注后面的文章,会有解答。

虽然xlwt缺点比较多,但是我们还是需要去了解,毕竟创建一个excel还是比较方便的。

了解完了增,接下来了解一下改。

因为我们上面说了如果使用xlwt来操作已经存在的excel文件会报错,但是我们修改肯定是从已经存在的文件中修改。

这怎么解决呢?

肯定xlwt是无法满足我们的需求,此时xlutils就帮了个大忙。


import xlrdfrom xlutils.copy import copy# 将刚刚生成的xls文件打开kuls = xlrd.open_workbook('kuls.xls',formatting_info=True)# 获取文件中工作表sheet1 = kuls.sheets()[0]# 复制kuls对象kuls1 = copy(kuls)# 拿到复制后对象的sheetkuls1_sheet = kuls1.get_sheet(0)# 操作复制后的sheetkuls1_sheet.write(0, 0, 'Python进击者1')kuls1.save('kuls.xls')


上面的代码就是一个修改的案例,其中formatting_info是将字体样式一起复制。非常的简单,本质上就是将原excel复制一份,对复制的这一份进行修改,然后再重新写入到原文件当中。

其实关于xlwt相关的知识差不多到这里了,但是xlwt只支持xls文件这个点大家也是需要知道的。

那么我要操作xlsx文件该怎么做呢?

下一期文章将会介绍一个更厉害的库来操作xlsx,大家敬请关注!!!

上一篇:Js菜鸟学习


下一篇:poj 1064 Cable master【浮点型二分查找】