详解Python操作Excel之openpyxl
作者:黑伴白
这篇文章主要为大家介绍了Python操作Excel的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
Python操作Excel之openpyxl
openpyxl是一个Python库,用来读写Excel2010 xlsx/xlsm/xltx/xltm类型文件。
openpyxl不能操作早期的xls格式的Excel文件,可以使用xlwings等其他库。
openpyxl是一个非标准的库,需要自行安装:
pip install openpyxl
前提
既然要操作Excel,那么前提我们对Excel要有一个基本的了解,比如:
一个Excel工作簿(workbook)由一个或多个工作表(sheet组成),一个工作表(sheet)中又包含多个行(row)和列(column),每一行(row)或每一列(column)又是由多个单元格(cell)组成
创建
from openpyxl import Workbook # 创建一个工作簿对象 wb = Workbook() # 创建一个名为first的sheet页 [第二个参数可以指定索引,即创建sheet的位置] ws = wb.create_sheet('first') # 将创建的工作簿保存为Mytest.xlsx wb.save('Eric_01.xlsx') # 最后关闭文件 wb.close()
Workbook对象提供了很多属性和方法,其中,大部分方法都与sheet有关
部分属性如下:
active
:获取当前活跃的Worksheetworksheets
:以列表的形式返回所有的Worksheet(表格)read_only
:判断是否以read_only模式打开Excel文档encoding
:获取文档的字符集编码properties
:获取文档的元数据,如标题,创建者,创建日期等sheetnames
:获取工作簿中的表(列表)
部分方法如下:
get_sheet_names
:获取所有表格的名称(新版已经不建议使用,通过Workbook的sheetnames属性即可获取)get_sheet_by_name
:通过表格名称获取Worksheet对象(新版也不建议使用,通过Worksheet[‘表名’]获取)get_active_sheet
:获取活跃的表格(新版建议通过active属性获取)remove_sheet
:删除一个表格create_sheet
:创建一个空的表格copy_worksheet
:在Workbook内拷贝表格
读取
from openpyxl import load_workbook # openpyxl.load_workbook()打开已有工作簿 wb = load_workbook('Eric.xlsx') # 打印工作簿中存在的工作表名称 print(wb.sheetnames) # 根据名称获取工作表 sheet = wb['sheet1'] # 如果只有一个工作表也可以如下 sheet = wb.active # 读取表格内容所在范围 sheet.dimensions # 获取单元格内容 # 指定坐标 cell = sheet['A1'] # 指定行列 cell = sheet.cell(row=3, column=4) # 打印单元格的值 print(cell.value) # 获取单元格的行、列、坐标 print(cell.row, cell.column, cell.coordinate) # 获取范围单元格的值 # 指定坐标范围 cells = sheet['A1':'C3'] # 指定列范围 cells = sheet['A:C'] # cells = sheet['A'] # 指定行范围 cells = sheet[2:5] # cells = sheet[3] # 遍历获取单元格的值 for cell in cells: print(cell.value) # 特定范围 for row in sheet.iter_rows(min_row = 1, max_row = 10 min_col = 1, max_col = 26): print(row) # 遍历获取单元格的值 for cell in row: print(cell.value) # 读取所有行 for row in sheet.rows: print(row)
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!