一、openpyxl库
1.1 说明
openpyxl是读写Excel的python库,是一个比较综合的工具,能够同时读取和修改Excel文档
**注意**:这里只能是xlsx类型的excel
1.2 安装
pip install openpyxl
1.3 步骤
- 打开excel表
- 获取sheet表单
- 获取行、列、单元格
1.4 api方法
python import openpyxl
workbook=openpyxl.load_workbook('test01.xlsx')
# 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)
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)))