前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小白学自动化!终于开始写了!!!

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

作者头像
Python进击者
发布2022-01-11 16:11:45
4870
发布2022-01-11 16:11:45
举报
文章被收录于专栏:JAVAandPython君JAVAandPython君

大家好,我是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来进行读取。

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

代码语言:javascript
复制
pip install xlrdorpip3 install xlrd

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

代码语言:javascript
复制
# 导入第三方库import xlrd# 读取Python进击者.xlsx文件a = xlrd.open_workbook('Python进击者.xlsx')

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

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

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

代码语言:javascript
复制
# 第一种sheet = a.sheet_by_index(0)# 第二种sheet = a.sheet_by_name('Sheet1')# 第三种sheet = a.sheets()[0]

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

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

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

代码语言:javascript
复制
data = sheet.cell_value(0,1)

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

代码语言:javascript
复制
# 导入第三方库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也给我们提供了相关的函数,我们直接对其进行调用就行了。

代码语言:javascript
复制
# 获取工作表行数rows_num = sheet.nrows# 获取工作表列数cols_num = sheet.ncols
代码语言:javascript
复制
# 工作表数量sheets_num = a.nsheets# 工作表名称sheets_names = a.sheet_names()# 所有工作表sheets = a.sheets()

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python进击者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档