在做自动化测试时,当选择的是数据驱动测试的模式时,通常会通过读取文件的方式进行参数化。今天在学习读取csv文件时,想到要如何去读取excel文件,针对excel文件操作的方法会有所不同。
如果不安装xlrd模块而直接导入,会报错不存在该模块。
Step1:安装xlrd模块
1)到官网下载xlrd模块:
这里包含很多Python中关于Excel的模块,并且有详细的说明和实例,可以研究。
2)解压下载的模块,用cmd方式进入到解压的目录,输入命令:pip install xlrd, 按回车键等待安装完成。
Step2:读取Excel文件(注意我用的是Python3.6,所以在语法上与2.x会有差别,个人认为3.x更好用)
import xlrd #导入xlrd模块
#读取本地csv文件,打开excel文件(默认是rb方式打开)
myWorkbook = xlrd.open_workbook(‘bbb.xlsx‘)
#获取excel工作表
mySheets = myWorkbook.sheets( ) #获取工作表
list mySheet = mySheets[0] #通过索引获取
#mySheet = myWorkbook.sheet_by_index(0) #通过索引顺序获得
#mySheet = myWorkbook.sheet_by_name(u‘111‘) #通过名字获取
#获取行数和列数
nrows = mySheet.nrows
ncols = mySheet.ncols
print ("The rows: %d" %nrows)
print ("The cols: %d" %ncols)
#获取一行和一列
for i in range(nrows):
myRowValues = mySheet.row_values(i)
print (myRowValues)
for j in range(ncols):
myColValues = mySheet.col_values(j)
print (myColValues)
#读取单元格数据
‘‘‘mycell = mySheet.cell(i, j) #获取单元格,i是行数,j是列数,行数和列数都是从0开始计数
mycellvalue = mycell.value #通过单元格获取单元格数据
mycellvalue = mySheet.cell_value(i, j) #直接获取单元格数据‘‘‘
mycellvalue = mySheet.cell_value(0,0) #改变i,j值则改变单元格
print (mycellvalue)