python接口自动化系列 - openpyxl基本使用03
一、openpyxl简单介绍
- 一个Python库,用于读取/写入Excel 2010 xlsx 、xlsm 、xltx 、xltm 文件
- 不能操作 xls 文件
- Workbook:excel工作表
- Sheet:工作表中的一张表
- Cell:其中的一个单元格
- 简单步骤:打开Workbook,选中Sheet,操作Cell
二、读取xlsx
import openpyxl path = './case/imooc.xlsx' # 读取excel文件 workbook = openpyxl.load_workbook(path) #方法一 读取所有sheet-已停止使用,使用会有警告 sheet = workbook.get_sheet_names() # 获取某个sheet sheet = workbook[sheet[0]] # 获取某个cell的值 cell_val = sheet.cell(row=2, column=2).value print(cell_val) #方法二 sheetname = workbook.sheetnames[0] print(sheetname) print("A列:", sheet["A"]) # 读取A列 print("1行:", sheet["1"]) # 读取第1行 print("C4格的值:", sheet["C4"].value) # 读取C4格的值 # 最大/最小行列数获取的是表中的数据区域 print("最大行数为:", sheet.max_row) # 最大行数 print("最大列数为::", sheet.max_column) # 最大列数 print("最小行数为:", sheet.min_row) # 最小行数 print("最小列数为:", sheet.min_column) # 最大列数 print("第一行第一列的单元格值为:",sheet.cell(row=1, column=1).value) # 获取第一行第一列单元格的值 print("\n") print("表中C列中所有值为:") for i in sheet["C"]: print(i.value, end=" ") # 读取C列中的所有值 print("\n") print("表中2行中所有值为:") for j in sheet["2"]: print(j.value)
返回结果:
注意:get_sheet_by_name()方法已经未使用了,继续使用会出现警告:DeprecationWarning: Call to deprecated function get_sheet_by_name (Use wb[sheetname]).
三、写入xslx
from openpyxl import workbook #导入库 wb=workbook.Workbook() #创建一个新工作表 sheet=wb.active #找到活动的sheet页 sheet.title='new sheet' #空的excel表默认的sheet页就叫Sheet,如果想改名字,可以直接给title属性赋值 ''' 这个属性是可读可写的。当然,这个只针对当前活动页,别的页的话,可以用create_sheet和remove_sheet进行添加和删除。 往sheet页里面写内容就比较简单了,跟读一样. ''' sheet['C3']= 'Hello world!' for i in range(10): sheet["A%d" % (i+1)].value=i+1 sheet["E1"].value= "=SUM(A:A)" #我们还可以进行花式操作,比如写写公式: wb.save('./case/new_excel.xlsx') #最后记得保存
执行结果:
针对于已有的工作表进行写入:
from openpyxl import load_workbook fp=load_workbook("./case/new_excel.xlsx") sheet = fp["new sheet"] sheet['c1'] = '新写入的内容' fp.save("./case/new_excel.xlsx")
返回结果:
本文来自博客园,作者:橘子偏爱橙子,转载请注明原文链接:https://www.cnblogs.com/xfbk/p/17024988.html