在Python有很多第三方模块来处理excel,例如xlrd、xlwt、xluntils和pyExcelerator,这里我们介绍比较常用的xlrd模块。
(1)安装xlrd模块。进入Python安装路径,使用pip命令安装,如图x-x所示。
图x-x xlrd模块安装
(2)在项目中的util包中创建一个文件excel.py,创建类Excel,在其中实现一个read_it的方法,用于读取excel中的数据。
import xlrd
class read_excel:
#定义excel文档读取方法
def read_it(self,path,index=0):
#返回整个excel文件,其中包含多个sheet
book = xlrd.open_workbook(path)
#获取指定索引的sheet表
sheet = book.sheets()[index]
return sheet
if __name__ == '__main__':
s = read_excel().read_it('../data/agileonetestcase.xlsx')
#取得sheet表的所有行数
for i in range(s.nrows):
#取得sheet表的所有列数
for j in range(s.ncols):
#通过行列坐标找到每个单元格的内容
print(s.cell(i,j).value,end='\t')
print('')
上面是一个测试代码,在Excel类中定义了一个读取数据的方法。运行结果如下,可以看到输出了excel中的每一行数据,如图x-x所示。
图x-x 用例读取结果
(3)上面的结果是按每一个单元格读取的,实际上xlrd模块提供另外的方式来返回结果,比如,前面用例里面接收的是列表,那么可以使用now_values()方法返回每一行内容的列表,需要什么就可以通过索引取什么,跟方便使用和维护,代码如下:
… #类的定义相同,此处省略
if __name__ == ‘__main__’:
s = read_excel().read_it('../data/agileonetestcase.xlsx')
#取得sheet表的所有行数
for i in range(s.nrows):
li = s.row_values(i)
print(li)
代码运行结果如图x-x所示。
图x-x 以列表的方式返回每行内容
为了答谢大家对蜗牛学院的支持,蜗牛学院将会定期对大家免费发放干货,敬请关注蜗牛学院的官方微信。