Python - openpyxl

读取xlxs 文件

import openpyxl

#获得Workboot对象
wb = openpyxl.load_workbook(r'C:\Users\86158\Desktop\测试用例\test_app.xlsx')

print(type(wb))

# 获得工作薄的列表
sheet_names = wb.sheetnames  # sheet_names = wb.get_sheet_names()

print(sheet_names)

# 通过工作簿的名字获得指定的工作簿
sheet = wb['轮播图']  # 该方法已废弃 wb.get_sheet_by_name('轮播图') 
print(type(sheet))

# 获得打开excel时的活动工作簿
# 返回Worksheet对象
active_sheet = wb.active

# 获得工作簿的已填充数据的最大行数
print(active_sheet.max_row)

# 获得工作薄的已填充数据的最大列数
print(active_sheet.max_column)

单元格对象 - Cell

# 获得Cell对象,代表工作簿的一个单元格
# Cell对象有row和column 属性,可以定位单元格
# coordinate 也是Cell的属性,例如A1, B2 等
cell = sheet.cell(row, column)

# 获得单元格的值
cell.value

获得工作簿所有数据

# 获得工作簿的所有值
# 一行数据为一个元组
for val in active_sheet.values:
    print(val)


# out:
('ID', '功能模块', '优先级', '用例标题', '预置条件', '测试数据', '执行步骤', '预期结果')
('cart_0001', '购物车', 'P1', '加入购物车', '/', '/', '1.点击商品详情页的加入购物车', '商品加入到购物车')
('cart_0002', '购物车', 'P1', '检查加入购物车的信息是否正确', '/', '/', 
'1.点击商品详情页的加入购物车\n2.检擦购物车商品显示信息跟商品详情页是否一致', '加入购物车的商品和商品详情页的显示信息一致')
('cart_0003', '购物车', 'P1', '检查购物车勾选框是否有效', '/', ' /', '1.点击购物车商品勾选框', 
'对应的商品被选中,并且合计金额显示正确')

获得工作簿指定部分的数据


for row in active_sheet['A1:D4']:
    # row 是一行单元格Cell的 元组
    for el in row:   # el是一个Cell对象
        print(el.coordinate, el.value, end="\t")
    print()

列字母和数字的互相转换

from openpyxl.cell.cell import get_column_letter
from openpyxl.utils.cell import column_index_from_string

# 数字列转字母
print(get_column_letter(2))  # out: B

# 列数字转字母
print(column_index_from_string('C'))  # out: 3

写数据

# -*- coding = utf-8 -*-
# @Time: 9:44
# @Author: zzc
# @File: test_openpyxl.py
# @Software: PyCharm

import openpyxl

# 创建一个xlsx文件,并创建一个工作簿

workbook = openpyxl.Workbook()
ws = workbook.active # Get the currently active sheet or None

ws.title = 'test'

# 写入方法一:
ws['A1'] = 'test'

# 写入方法二:
ws.cell(row=2, column=2).value = 'test2'

rows = (
    (1,2,3),
    (4,5,6)
)
for row in rows:
    ws.append(row)

workbook.save('test.xlsx')

效果:

posted @ 2022-01-11 20:23  chuangzhou  阅读(48)  评论(0编辑  收藏  举报