python+selenium获取excel表格数据
这个是工具类
- import xlrd
- class ExcelUtil():
-
- def __init__(self, excelPath, sheetName):
- #def __init__(self, excelPath, sheetName):
- self.data = xlrd.open_workbook(excelPath)
- self.table = self.data.sheet_by_name(sheetName)
- try:
- # 获取总行数
- self.rowNum = self.table.nrows
- if self.rowNum >0 :
- # 获取第一行作为key值
- self.keys = self.table.row_values(0)
- print(self.keys)
- # 获取总列数
- self.colNum = self.table.ncols
- except IndexError as e:
- print("数据为空")
- self.rowNum = 0
-
- def dict_data(self):
- if self.rowNum <= 1:
- print("总行数小于1")
- else:
- r = []
- j=1
- print("总行数", self.rowNum,"总列数",self.colNum)
- for i in range(self.rowNum-1):
- s = {}
- # 从第二行取对应values值
- values = self.table.row_values(j)
- for x in range(self.colNum):
- s[self.keys[x]] = values[x]
- r.append(s)
- j+=1
- return r
在启动类里面调用方法
- excelGoodsData = ExcelUtil("这是本地excel表的保存路径", "这是excel表的表名sheet")
- goodsDatas = excelGoodsData.dict_data() #调用了上面那个工具类
BOM就是sheet名
调用方法的数据返回几个装有集合的数组
例如[{'name':'Tom','age':'19'},{'name':'Jack','age':'20'}]
你要取数据的时候只需要用过for循环把它遍历一下
- for good in goodsDatas:
- good['name']#这样就可以获取name的值了
- #这里的good是其实是集合{'name':'Tom','age':'19'}
到这里就完成了。记住这里是去的数据name,age其实就是excel表的表头。
推荐阅读