Python 实现Excel自动化办公(上)

时间:2024-04-16 21:48:24

在Python 中你要针对某个对象进行操作,是需要安装与其对应的第三方库的,这里对于Excel 也不例外,它也有对应的第三方库,即xlrd 库。

什么是xlrd库

Python 操作Excel 主要用到xlrd和xlwt这两个库,即xlrd是读Excel ,xlwt是写Excel 的库。今天主要讲讲xlrd这个库。

常用单元格中的数据类型

  1. empty(空的)

  2. string(text)

  3. number

  4. date

  5. boolean

  6. error

  7. blank(空白表格)

安装

首先来安装一下xlrd, 安装非常简单,一条命令即可搞定:
python -m pip install xlrd
不报错说明模块安装成功

代码演示

import xlrdimport xlwtdata = xlrd.open_workbook("test.xls") #打开一个excel文件table=data.sheet_by_name("good")#通过sheet名查找good
#针对excel中sheet操作print('sheet_names:', data.sheet_names()) # 获取所有sheet名字print('sheet_number:', data.nsheets ) # 获取sheet数量print('sheet is load:',data.sheet_loaded(2)) #通过name or index来检查某个sheet是否导入完毕print('sheet_object:', data.sheets() ) # 获取所有sheet对象,返回一个xlrd.sheet.Sheet()对象列表print('By_name:', data.sheet_by_name("test")) # 通过sheet名查找,返回一个xlrd.sheet.Sheet()对象print('By_index:', data.sheet_by_index(1) ) # 通过索引查找,返回一个xlrd.sheet.Sheet()对象
#针对sheet的行的操作print("该sheet中的有效行数:",table.nrows) #获取该sheet中的有效行数print("该行对象组成的列表:",table.row(1)) #返回由该行中所有的单元格对象组成的列表print("该行对象组成的列表:",table.row_slice(1)) #返回由该行中所有的单元格对象组成的列表,与上面的效果一致print("该行数据类型组成的列表:",table.row_types(1)) #返回由该行中所有单元格的数据类型组成的列表print("该行数据组成的列表:",table.row_values(0)) #返回由该行中所有单元格的数据组成的列表print("该列的有效单元格长度:",table.row_len(1)) #返回该列的有效单元格长度
#针对sheet的列的操作print("该sheet中的有效列数:",table.ncols) #获取该sheet中的有效列数print("该列中所有的单元格对象组成的列表:",table.col(1)) #返回由该列中所有的单元格对象组成的列表print("该列中所有的单元格对象组成的列表:",table.col_slice(1)) #返回由该列中所有的单元格对象组成的列表,与上面的效果一致print("该列中所有单元格的数据类型组成的列表:",table.col_types(1)) #返回由该列中所有单元格的数据类型组成的列表print("该列中所有单元格的数据组成的列表:",table.col_values(1)) #返回由该列中所有单元格的数据组成的列表
#针对单元格的操作# #针对单元格的操作print("返回指定单元格对象:",table.cell(0,0))   #返回单元格对象print("返回指定单元格对象:",table.cell(0,0).value)   #返回单元格对象的值print("返回指定单元格对象的数据类型:",table.cell_type(1,1))    #返回单元格中的数据类型print("返回指定单元格对象的数据:",table.cell_value(0,0))   #返回单元格中的数据,等同于table.cell(0,0).value

输出结果展示

引用的Excel 数据格式如下:

总结:今天主要是分享了Python 如何来操作Excel 里面的sheet,row,col,cell 等Excel 里面的元素,有了这些基础我们就可以在后面做我们想要做的了,比如:api 自动化时需要从Excel 里面获取要组织的请求数据,或者是回写我们请求后的响应值等。