openpyxl 使用指南

openpyxl是很强大的Python操作excel文件的程序包。这部分以及以后的内容是翻译的openpyxl的官方网站内容(因为原网站只有英文的),希望对大家能够有所帮助。
创建工作簿
创建工作簿或者选择一个工作簿是使用excel的第一步。openpyxl可以在不打开exce文件的情况下,就使用工作簿。

from openpyxl import Workbook
wb = Workbook()

Workbook的属性、函数以及方法有很多。最常用的一个是获得当前工作表:

from openpyxl import Workbook
wb = Workbook()
ws = wb.active
#以下方法也可以
ws1 = wb['工作表']

ws指向的就是当前工作表。
创建工作表
当然也可以使用create_sheet()创建工作表:

from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws1 = wb.create_sheet("Sheet1") #新建工作表在最后
ws2 = wb.create_sheet("工作表2",0) #新建工作表在最前
ws3 = wb.create_sheet("工作表3",-1) #新建工作表在倒数第二
ws4 = wb.create_sheet("工作表4",2) #在第二个位置,从零开始计数
print(wb.sheetnames)

输出的结果是:

['工作表2', 'Sheet', '工作表4', '工作表3', 'Sheet1']

工作表的名称可以用title属性直接设定,比如:

ws.title = "新工作表"

工作表的背景色可以通过Worksheet.sheet_properties.tabColor 属性更改,颜色是使用“RRGGBB”设定

ws.sheet_properties.tabColor = "1072BA"

openpyxl也支持复制工作表:

target = wb.copy_worksheet(ws)

需要注意的是,并不是源工作表的所有内容都会被拷贝到新的工作表中的。另外不能跨工作簿拷贝工作表。

访问单元格
访问单元格非常的简单,比如:

cell=ws['A1'] #读取单元格
ws['A2']="你好"
print(cell.style)

单元格对象有很多的属性,后面会逐一的讲解。

也可以使用下标范围来访问一批单元格:

cell=ws["A1:C4"]
colC = ws['C']
col_range = ws['C:D']
row10 = ws[10]
row_range = ws[5:10]
#行迭代方式
for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
	for cell in row:
		print(cell) 
#列迭代方式
for col in ws.iter_cols(min_row=1, max_col=3, max_row=2):
    for cell in col:
        print(cell)
#访问单元格数值
for row in ws.values:
   for value in row:
     print(value)

保存工作簿
保存工作簿的方法如下:

wb = Workbook()
wb.save('abc.xlsx')

需要注意的是,只能保存xlsx格式的excel文件。旧的xls文件不能保存

读取工作簿

 wb = load_workbook('abc.xlsx')

你可能感兴趣的:(Python,excel)