WHCSRL 技术网

python+selenium获取excel表格数据

这个是工具类

  1. import xlrd
  2. class ExcelUtil():
  3. def __init__(self, excelPath, sheetName):
  4. #def __init__(self, excelPath, sheetName):
  5. self.data = xlrd.open_workbook(excelPath)
  6. self.table = self.data.sheet_by_name(sheetName)
  7. try:
  8. # 获取总行数
  9. self.rowNum = self.table.nrows
  10. if self.rowNum >0 :
  11. # 获取第一行作为key值
  12. self.keys = self.table.row_values(0)
  13. print(self.keys)
  14. # 获取总列数
  15. self.colNum = self.table.ncols
  16. except IndexError as e:
  17. print("数据为空")
  18. self.rowNum = 0
  19. def dict_data(self):
  20. if self.rowNum <= 1:
  21. print("总行数小于1")
  22. else:
  23. r = []
  24. j=1
  25. print("总行数", self.rowNum,"总列数",self.colNum)
  26. for i in range(self.rowNum-1):
  27. s = {}
  28. # 从第二行取对应values值
  29. values = self.table.row_values(j)
  30. for x in range(self.colNum):
  31. s[self.keys[x]] = values[x]
  32. r.append(s)
  33. j+=1
  34. return r

在启动类里面调用方法

  1. excelGoodsData = ExcelUtil("这是本地excel表的保存路径", "这是excel表的表名sheet")
  2. goodsDatas = excelGoodsData.dict_data() #调用了上面那个工具类

BOM就是sheet名

调用方法的数据返回几个装有集合的数组

例如[{'name':'Tom','age':'19'},{'name':'Jack','age':'20'}]

你要取数据的时候只需要用过for循环把它遍历一下

  1. for good in goodsDatas:
  2. good['name']#这样就可以获取name的值了
  3. #这里的good是其实是集合{'name':'Tom','age':'19'}

到这里就完成了。记住这里是去的数据name,age其实就是excel表的表头。

推荐阅读