一. openpyxl安装: pip install openpyxl
二. openpyxl操作Excel文件
1. 先导入openpyxl: import openpyxl
2. 常用方法:
1) 创建工作薄&创建sheet表单,删除表单并保存工作薄:
workbook.create_sheet('sheet2') # 默认后插入表单
workbook.create_sheet('sheet3', 1) # 指定位置插入表单,表单下标从0开始算
workbook.save('cases.xlsx')
print(workbook.sheetnames)
del workbook['sheet3'] # 删除表格
workbook.remove(workbook['sheet2']) # 删除表格
workbook.remove_sheet(workbook['sheet3'])
workbook.save('cases.xlsx') # 删除或者创建表单,或者修改表单内单元格内容,都需要保存
2) 工作薄打开&表单内容获取以及修改等常用方法:
a. 打开一个工作薄
wb = openpyxl.load_workbook("cases.xlsx") # 打开一个工作薄
b. 获取工作薄中所有sheet表单名称:
sheetlist = wb.sheetnames # 所有sheet名称
c.选取表单(即需要打开的sheet页):以打开命名为login的表单
sh = wb['login'] # 选取表单
或者:
sh = wb.get_sheet_by_name('login') (已弃用)
d. 读取指定单元格: 以获取第一列第一行的单元格值为例
cell_value = sh.cell(row=1, column=1).value # 读取指定单元格值
e. 向指定单元格写入值: 向第一列第一行的单元格写入hello为例
sh.cell(1, 1).value = "hello"
# 或者:
sh.cell(row=1, column=1, value="hello")
# 注意:写完数据之后一定要记得保存:
wb.save(filename)
f. 获取最大行&最大列:
row = sh.max_row # 最大行
coumn = sh.max_row # 最大列
g. 获取第1列值:
'''获取第一列的值'''
for i in range(1, sheet.max_row+1):
data = sheet.cell(row=i, column=1).value
print(data)
h. 获取第1行的值:
for i in range(1, sheet.max_column+1):
data = sheet.cell(row=1, column=).value
print(data)
i. 获取从第N列开始到第M列的数据
allcontents = [] # 存储所有用例数据信息
for columnnum in columns: # 获取title
titles.append(self.sh.cell(row=1, column=columnnum).value)
for i in range(2, self.sh.max_row + 1):
oneCasedata = []
for columnnum in range(N,M+1):
data = self.sh.cell(row=i, column=columnnum).value
try:
oneCasedata.append(eval(data))
except NameError as e:
oneCasedata.append(data)
allcontents .append(oneCasedata)
print(allcontents)