学习笔记openpyxlPython 操作 Excel 文件库 - openpyxl
Pupper一. 安装
二. 基本操作
2.1 创建工作簿
创建工作簿时, 会自动产生一个 sheet, 可以通过 active
获取
1 2 3 4 5 6 7
| import openpyxl
wx = openpyxl.Workbook()
sheet = wx.active
|
2.2 创建工作表
1 2 3
| sh1 = wb.create_sheet("工作表 1") sh2 = wb.create_sheet("工作表 2", 0) sh3 = wb.create_sheet("工作表 3", -1)
|
2.2.1 修改工作表名
1 2 3
| sh3 = wb.create_sheet("工作表 3", -1)
sh3.title = "表 3"
|
2.2.2 查看工作表名
1 2 3 4 5
| print(wb.sheetnames)
""" ['工作表 2', 'Sheet', '表 3', '工作表 1'] """
|
1 2 3 4 5 6 7 8 9
| for sheet in wb: print(sheet.title)
""" 工作表 2 Sheet 表 3 工作表 1 """
|
2.2.3 复制工作表
- 仅复制单元格(包括值、样式、超链接和注释)和某些工作表属性(包括维度、格式和属性)
- 不会复制所有其他工作簿/工作表属性 - 例如图像、图表。
1 2 3 4 5 6
| target = wb.copy_worksheet(sh1) print(wb.sheetnames)
""" ['工作表 2', 'Sheet', '表 3', '工作表 1', '工作表 1 Copy'] """
|
2.3 修改单元格
2.3.1 修改单个单元格
1 2 3 4 5 6 7
| sheet["A3"] = "Python" print(sheet["A3"].value)
d = sheet.cell(2, 3, 10) print(sheet.cell(2, 3).value)
|
2.3.2 修改多个单元格
获取指定区域的单元格 sh['xx':'xx']
1 2 3 4 5 6 7 8
| cell_range = sh['A1':'C2'] for i in cell_range: print(i)
""" (<Cell 'Sheet'.A1>, <Cell 'Sheet'.B1>, <Cell 'Sheet'.C1>) (<Cell 'Sheet'.A2>, <Cell 'Sheet'.B2>, <Cell 'Sheet'.C2>) """
|
获取指定列的单元格 sh['xx']
1 2 3 4 5 6 7 8
| colC = sh['C'] for i in colC: print(i)
""" <Cell 'Sheet'.C1> <Cell 'Sheet'.C2> """
|
2.4 插入行、列
sheet 对象的 insert_rows
和 insert_cols
方法,分别用来插入 行 和 列
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| import openpyxl
wb = openpyxl.load_workbook('income.xlsx') sheet = wb['2018']
sheet.insert_rows(2)
sheet.insert_rows(3,3)
sheet.insert_cols(2)
sheet.insert_cols(2,3)
wb.save('income-1.xlsx')
|
2.5 删除行、列
sheet 对象的 delete_rows
和 delete_cols
方法,分别用来删除 行 和 列
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| import openpyxl
wb = openpyxl.load_workbook('income.xlsx') sheet = wb['2018']
sheet.delete_rows(2)
sheet.delete_rows(3,3)
sheet.delete_cols(2)
sheet.delete_cols(3,3)
wb.save('income-1.xlsx')
|