在Python 中你要针对某个对象进行操作,是需要安装与其对应的第三方库的,这里对于Excel 也不例外,它也有对应的第三方库,即xlrd 库。
什么是xlrd库
Python 操作Excel 主要用到xlrd和xlwt这两个库,即xlrd是读Excel ,xlwt是写Excel 的库。今天主要讲讲xlrd这个库。
常用单元格中的数据类型
-
empty(空的)
-
string(text)
-
number
-
date
-
boolean
-
error
-
blank(空白表格)
安装
首先来安装一下xlrd, 安装非常简单,一条命令即可搞定:
python -m pip install xlrd
不报错说明模块安装成功
代码演示
import xlrd
import xlwt
data = 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 里面获取要组织的请求数据,或者是回写我们请求后的响应值等。