python操作excel之 openpyxl
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)
活到老,学到老。