ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] **前言** 当登录的账号有多个的时候,我们一般用excel存放测试数据,python读取excel方法,并保存为字典格式。 ## **一、环境准备** 1. 先安装xlrd模块,打开cmd,输入pip3 install xlrd在线安装 ``` >>pip3 install xlrd ``` <br /> ## **二、基本操作** 1. exlce基本操作方法如下 ``` import xlrd # 打开excel表格 data = xlrd.open_workbook("C:/Users/aipu/Desktop/工作簿1.xlsx") table = data.sheet_by_name("Sheet1") nrows = table.nrows # 获取总行数 ncols = table.ncols # 获取总列数 print(table.row_values(0)) # 获取第一行值 print(table.col_values(0)) # 获取第一列值 ``` <br /> ## **三、excel存放数据** 1. 在excel中存放数据,第一行为标题,也就是对应字典里面的key值,如:username,password 2. 如果excel数据中有纯数字的一定要右键》设置单元格格式》文本格式,要不然读取的数据是浮点数 (先设置单元格格式后编辑,编辑成功左上角有个小三角图标) ![](https://img.kancloud.cn/40/53/4053c845b787d19d7bb7c9624e74bc95_966x604.png) <br /> ## **四、封装读取方法** 1. 最终读取的数据是多个字典的list类型数据 2. 封装好后的代码如下 ``` import xlrd class ExcelUtil(): def __init__(self, excelPath, sheetName): self.data = xlrd.open_workbook(excelPath) self.table = self.data.sheet_by_name(sheetName) # 获取第一行作为key值 self.keys = self.table.row_values(0) # 获取总行数 self.rowNum = self.table.nrows # 获取总列数 self.colNum = self.table.ncols def dict_data(self): if self.rowNum <= 1: print("总行数小于1") else: r = [] j = 1 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 if __name__ == "__main__": filepath = "C:/Users/aipu/Desktop/工作簿1.xlsx" sheetNmme = "Sheet1" data = ExcelUtil(filepath, sheetNmme) print(data.dict_data()) ``` 运行结果: ``` [{'username': 'python', 'password': '123456'}, {'username': 'selenium', 'password': '123'}, {'username': 'appium', 'password': '1234'}] ```