python操作excel之 openpyxl

发布时间 2023-06-09 12:00:39作者: 一贴灵


python操作excel在我们的工作中经常会用到,操作用例读取对应信息进行接口自动化
python Excel库对比
图片
我们发现可以操作excel的库有很多种,我们常用的就三种方法
第三方库 xlwt/xlrd:用于生成和读取比较老的excel文件,比如xls格式,最大行数限制为65536行。其中xlrd是读excel,xlwt是写excel的库。

第三方库 openpyxl:用于生成2010之后新的excel文件,比如xlsx格式,最大行数限制为1048576行

第三方库 pandas:pandas是最强大的数据分析库,自带excel读取和生成模块

本文主要使用openpyxl库
安装openpyxl库
pip install openpyxl -i https://pypi.douban.com/simple/
写入Excel
写入基本操作步骤:
1.获取workbook

2.获取 worksheet

3.再然后获取单元格,进行操作

 1 import openpyxl
 2 
 3 # 创建workbook对象
 4 wb = openpyxl.Workbook()
 5 # # 删除默认创建的一个sheet页
 6 ws = wb['Sheet']
 7 wb.remove(ws)
 8 # # 给sheet页命名
 9 sheetName = "松勤测试"
10 # 创建sheet页
11 ws = wb.create_sheet(sheetName)
12 
13 # 写入方式1:(行、列、值)
14 ws.cell(row=1, column=1, value="python")
15 ws.cell(row=1, column=2).value = "java"
16 ws.cell(row=1, column=3).value = "松勤"
17 ws['D1'].value = "sq"
18 
19 # 写入方式2:append方法
20 row = ["python","java","松勤","sq"]
21 # 向工作表中 按行添加数据
22 ws.append(row)
23 
24 # filePath 是指保存的 excel 文件路径
25 filePath = "松勤.xlsx"
26 # 保存xlsx
27 wb.save(filePath)
28 图片
29 读取Excel
30 import openpyxl
31 
32 # fileName 这里是指文件路径
33 fileName = "松勤.xlsx"
34 # 使用load_workbook()方法,以只读模式打开工作簿 #指定read_only=True方式,按列读取会失败
35 wb = openpyxl.load_workbook(filename = fileName,read_only = True)
36 # sheetName 就是 sheet页的名称
37 sheetName = "松勤测试"
38 # 通过 工作表名 获取 工作表
39 ws = wb[sheetName]
40 
41 # 读取方式1:指定读取 A1、B1和C1单元的内容方法
42 a1 = ws['A1'].value
43 b1 = ws['B1']
44 c1 = ws.cell(row=1, column=3).value
45 print(a1)
46 print(b1.value)
47 print(c1)
48 # 读取方式2:用循环读取指定的部分内容['A1,D1']
49 for row in ws['A1:D1']:
50    for cell in row:
51        print(cell.value)
52        # 读取方式3:
53 # 按行读取 工作表的全部内容
54 for row in ws.rows:
55    for cell in row:
56        print(cell.value)
57 # # 按列读取 工作表的全部内容
58 for column in ws.columns:
59    for cell in column:
60        print(cell.value)
61 更新Excel
62 import openpyxl
63 
64 # fileName 这里是指文件路径
65 fileName = "松勤.xlsx"
66 #使用load_workbook()方法,以只读模式打开工作簿
67 wb = openpyxl.load_workbook(fileName)
68 sheetName = "松勤测试"
69 # 通过 工作表名 获取 工作表
70 ws = wb[sheetName]
71 #修改对应数据
72 ws["A1"]="sq"
73 
74 # filePath 是指保存的 excel 文件路径
75 filePath = "松勤.xlsx"
76 # 保存xlsx
77 wb.save(filePath)

丢掉Excel,手把手教你用Python操作Excel (qq.com)