一、openpyxl库

1.1 说明

openpyxl是读写Excel的python库,是一个比较综合的工具,能够同时读取和修改Excel文档**注意**:这里只能是xlsx类型的excel

1.2 安装

pip install openpyxl

1.3 步骤

  • 打开excel表
  • 获取sheet表单
  • 获取行、列、单元格

1.4 api方法

  • 打开excel表:

python import openpyxl workbook=openpyxl.load_workbook('test01.xlsx')

  • 获取sheet表单

# 1.获取表单对象 sheet=workbook['登录']

  • 获取行、列、单元格

# 获取第一行的值 row_data = [item.value for item in list(worksheet.rows)[2]] # 最大行 max_row=sheet.max_row # 最大列数 max_cow = sheet.max_column # 单元格 data=sheet.cell(3,2).value # 表单对象.cell(行、列) 从1开始计数

  • 写入方法

# 指定单元格写入值 sheet.cell(2, 13).value = "哇~用例数据读取完成!" # 表单对象.cell(行,列) # 保存修改 workbook.save(filename=data_file) # 必须保存可以含路径 ../data/xxx.xlsx

  • 难点

如何将Excel读取数据格式转为字典? 1. 使用eval(data) 如:eval(sheet.cell(2,13).value)

  • api示例:

import openpyxl import json filename = 'iHRM-接口测试用例.xlsx' file_path = "../data/" + filename # 1. 打开excel -> 获取excel表对象 workbook = openpyxl.load_workbook(file_path) # 获取所有的表单名称 print("names:", workbook.sheetnames) # 2. 获取sheet sheet = workbook['登录'] # 3. 获取单元格值 2,13 data = sheet.cell(2, 13).value print("2-13:", data) # 4. 总行数 rows = sheet.max_row print("最大行:", rows) # 5. 总列数 cols = sheet.max_column print("最大列数:", cols) # 6. 获取第一行数据 one_data = [i.value for i in list(sheet.rows)[1]] print("第一行数据为:", one_data) # 7. 获取headers headers = one_data[6] # 字符类型 print("headers:", headers, type(headers)) # 转为字典类型 print("headers:", eval(headers), type(eval(headers))) print("headers:", json.loads(headers), type(json.loads(headers)))