且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

小白学自动化!终于开始写了!!!

更新时间:2022-03-02 10:37:01

大家好,我是Kuls。

好久不见,国庆这几天去大理、丽江玩了一圈,非常推荐,风景简直是非常的nice。很适合去放松自己。

从今天开始,K哥要给大家写一写自动化相关的文章,其实Python写自动化是非常方便的,不管你是Java开发、Go开发、Python开发,学一下自动化其实是很有必要的。

其实在工作的时候,我们有时会去写一些自动化脚本来解放我们劳动力。

好了,废话不多说,开整。

首先要学习Python自动化,基础知识一定是要具备的,像Python的一些基础的语法以及使用方法。

如果你不了解Python,可以去看公众号里面写过的Python基础合集。


什么是自动化?

从字面意思我们就可以知道----自动帮我们去完成某件事

其实在我们日常工作中有很多重复性的劳动,当我们掌握了自动化知识,这些完全可以避免掉。

那K哥写的这个系列主要会讲哪些方面的自动化呢?

office三件套---Excel、PPT、Word,这三者肯定是必讲的,我们很多时候都是在这些文件中进行操作。

除了这三者,我还会来讲讲浏览器相关的自动化、PDF自动化等。


自动化有什么用?

第一点,解法自己的双手,这个毋庸置疑的。

第二点,你可以做出自己的一些小工具。

第三点,.......

为了方便各位读者的理解,我不会像很多教程中一样直接将一些方法列出来。

我希望能够通过一步步实践的方法来教会大家。


小白学自动化!终于开始写了!!!


今天主要跟大家聊聊Excel相关的自动化,想去学习Excel相关的自动化,那么我们必须先要去了解excel。

Excel其实有两种格式,一个是xls,一个是xlsx。


小白学自动化!终于开始写了!!!


就例如上面两种,这两种有什么区别呢?

K哥从网上搜集了一些资料,大家可以看看:

1、文件格式不同。xls 是一个特有的二进制格式,其核心结构是复合文档类型的结构,而 xlsx 的核心结构是 XML 类型的结构,采用的是基于 XML 的压缩方式,使其占用的空间更小。xlsx 中最后一个 x 的意义就在于此。

2、版本不同。xls是excel2003及以前版本生成的文件格式,而xlsx是excel2007及以后版本生成的文件格式。

3、兼容性不同。xlsx格式是向下兼容的,可兼容xls格式。

----(来自百度知道)

这里K哥也来补充一下,xls类型的最多可以写入65535行、256列的数据,而xlsx可以最多写入1048576行、16384列的数据。

这点是很重要的,如果你的数据量非常大,比xlsx的最大数据量还要大,那你可能要使用其他的存储数据方式了。

了解完了xls和xlsx两种excel的格式,接下来就开始学习自动化相关知识了。

因为excel是一个文件,这也就意味着我们需要从外部读取它,此时就会用到第三方库xlrd来进行读取。

第一步当然是来安装第三方库:


pip install xlrdorpip3 install xlrd


安装成功后,我们来对Python进击者.xlsx文件进行读取


小白学自动化!终于开始写了!!!


# 导入第三方库import xlrd# 读取Python进击者.xlsx文件a = xlrd.open_workbook('Python进击者.xlsx')


此时Python进击者.xlsx已经被读取在a变量当中了,那么怎么对它进行一些简单的操作呢?


小白学自动化!终于开始写了!!!


首先我们要清楚的是一个excel当中会存在多个工作表,也就是上图中红框的地方,这里我们建有三张表。

如何选择哪张工作表,其实有三种实现方式:


# 第一种sheet = a.sheet_by_index(0)# 第二种sheet = a.sheet_by_name('Sheet1')# 第三种sheet = a.sheets()[0]


其中索引从0开始,0就代表第一张工作表。

选取了特定的工作表,那么真正操作数据的步骤来了。


小白学自动化!终于开始写了!!!


我在表格中插入了四条数据,如何来获取第一行第二列的数据呢?


data = sheet.cell_value(0,1)


其实非常的简单,只需要通过cell_value方法来获取即可。


# 导入第三方库import xlrd# 读取Python进击者.xlsx文件a = xlrd.open_workbook('Python进击者.xlsx')# 第一种sheet = a.sheet_by_index(0)# # 第二种# sheet = a.sheet_by_name('Sheet1')# # 第三种# sheet = a.sheets()[0]data = sheet.cell_value(0,1)print(data)


汇总一下代码,我们来看下运行之后的输出结果:


小白学自动化!终于开始写了!!!


发现与我们想的是一致的。

总结一下,整体的步骤如下:


小白学自动化!终于开始写了!!!


除了对指定单元格进行操作,在实际的开发中我们也许想要知道整个表格的数据有多少行,多少列,工作表有多少等等。

其实xlrd也给我们提供了相关的函数,我们直接对其进行调用就行了。


# 获取工作表行数rows_num = sheet.nrows# 获取工作表列数cols_num = sheet.ncols
# 工作表数量sheets_num = a.nsheets# 工作表名称sheets_names = a.sheet_names()# 所有工作表sheets = a.sheets()


其实知道了以上这些知识,我们可以实现通过Python来获取一个excel文件中所有表格的所有数据,你能实现吗?

具体的代码我会放在公众号后台,你可以回复【自动化1】进行获取。

好了,今天的文章就到这,大家肯定没看过瘾,下篇文章更精彩!

据说点个在看,知识更容易进脑子!