当前位置:   article > 正文

Python openpyxl模块操作手册(简单易懂)_openpyxl中文手册

openpyxl中文手册

创建文件

Workbook() —创建 excel 文件

使用 openpyxl 创建文件。只需导入Workbook类

  1. # 创建一个 excel 文件
  2. from openpyxl import Workbook
  3. wb = Workbook()
Workbook.create_sheet() —创建 excel 工作簿

Workbook.create_sheet() 可以创建自定义名称的工作簿。括号里的参数是工作簿名称,还有一个参数是工作簿的位置,也可以不写

from openpyxl import Workbook

wb = Workbook()
ws1 = wb.create_sheet('用户信息表', 0)  # 创建了一个用户信息表并放在第一位,如下图

可以创建多个工作簿,并且它们按顺序排列。

Worksheet.title —给工作簿重命名

使用 Worksheet.title属性更改表名称

  1. from openpyxl import Workbook
  2. wb = Workbook() # 创建 excel 文件
  3. ws1 = wb.create_sheet('用户信息表', 0) # 创建工作簿用户信息表放在第一位
  4. ws2 = wb.create_sheet('bank_info') # 创建工作簿bank_info
  5. ws1.title = 'user_info' # 更改工作簿用户信息表的名称
  6. '''用代码保存一下后,如下图所示,用户信息表 被改名成 user_info'''

 

ws.sheet_properties.tabColor = " " 修改标题背景
  1. from openpyxl import Workbook
  2. wb = Workbook()
  3. ws1 = wb.create_sheet('用户信息表', 0)
  4. ws1.sheet_properties.tabColor = 'FF6666' # 将标题背景改为指定RRGGBB颜色代码
  5. '''用代码保存一下后,如下图所示'''

 

Workbook.sheetname —查看 excel 所有工作簿

返回包含 excel 文件下所有工作簿名称的列表

  1. from openpyxl import Workbook
  2. wb = Workbook()
  3. ws1 = wb.create_sheet('用户信息表', 0)
  4. print(wb.sheetnames)
  5. 打印结果 ['用户信息表', 'Sheet']

Workbook.copy_worksheet() —创建工作表的副本
Workbook.copy_worksheet()方法可以在单个工作簿中创建工作表的副本。 仅复制单元格(包括值、样式、超链接和注释)和某些工作表属性(包括尺寸、格式和属性)。不会复制所有其他工作簿/工作表属性 - 例如图像、图表。

获取修改数据

访问一个单元格

在 excel 中可以通过位置找到里面的内容,同样使用代码也能通过位置找到内容。

Worksheet[ ]
  1. from openpyxl import Workbook
  2. wb = Workbook()
  3. ws1 = wb.create_sheet('用户信息表', 0)
  4. ws1['A1'] = 'XWenXiang' # ws1['A1'] 代表的是该表中的 A1 位置,我们可以将数据直接赋值给它
  5. '''用代码保存一下后,如下图所示'''

Worksheet.cell()固定位置插入数据
  1. ----'除了直接获取位置还可以使用 Worksheet.cell()方法'-----
  2. from openpyxl import Workbook
  3. wb = Workbook()
  4. ws1 = wb.create_sheet('用户信息表', 0)
  5. ws1.cell(row=4, column=2, value=10)
  6. 此方法是通过指定坐标的方式赋值,其中 row 参数代表行数, column 代表列数,value 是填入的数据。
  7. '''用代码保存一下后,如下图所示'''

 

Worksheet.append()

Worksheet.append() 可以同时写入多个数据。

  1. from openpyxl import Workbook
  2. wb = Workbook()
  3. ws1 = wb.create_sheet('用户信息表', 0)
  4. ws1.append(['name', 'age', 'gender'])
  5. ws1.append(['XWenXiang', '15', 'man']) # 要用 [] 括起来
  6. '''用代码保存一下后,如下图所示'''

 在这里插入图片描述

公式

模块里使用的公式和 excel 中的公式是一样的

ws1['A6'] = '=sum(A4:A5)'  # 对A4和A5进行求和并写入到A6

访问多个单元格
可以使用切片访问单元格范围
  1. x = ws['A1':'C2']
  2. x1 = ws['C']
  3. x2 = ws['C:D']
  4. x3 = ws[10]
  5. x4 = ws[5:10]
Worksheet.values —获取单元格值
  1. from openpyxl import Workbook
  2. wb = Workbook()
  3. ws1 = wb.create_sheet('用户信息表', 0)
  4. ws1.append(['name', 'age', 'gender'])
  5. ws1.append(['XWenXiang', '15', 'man'])
  6. for row in ws1.values:
  7. print(row)
  8. 打印结果:
  9. ('name', 'age', 'gender')
  10. ('XWenXiang', '15', 'man')

保存文件

保存工作簿最简单、最安全的方法是使用 对象的 Workbook.save() 方法 Workbook。
在前面的代码示例都没有将保存代码加入。

  1. wb = Workbook()
  2. wb.save('balances.xlsx') # balances.xlsx 是保存的路径,也就是文件名。
  3. 编辑完要保存才行。

打开文件

openpyxl.load_workbook() —读取 excel 文件

和 Workbook 写入一样,使用 openpyxl.load_workbook() 可以打开现有工作簿。

  1. from openpyxl import load_workbook # 导入 load_workbook
  2. wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True) # ex_a.xlsx是文件名
  3. print(wb.sheetnames) # 打印所有工作簿的名称
读取工作簿数据
  1. 方式一
  2. from openpyxl import load_workbook
  3. wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)
  4. ws = wb['用户信息表'] # 拿到工作薄对象
  5. print(ws['A1'].value) # 取出工作薄对象中 A1 位置的值
  1. 方式二
  2. from openpyxl import load_workbook
  3. wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)
  4. ws = wb['用户信息表']
  5. print(ws.cell(row=2, column=1).value) # 通过行与列的形式来取值
  1. 方式三(逐行读取)
  2. from openpyxl import load_workbook
  3. wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)
  4. ws = wb['用户信息表']
  5. for row in ws.rows: # 获取每一行的数据
  6. for data in row: # 获取每一行中单元格的数据
  7. print(data.value) # 打印单元格的值

如果是要加载并追加已经存在的xlsx文档,就要导入load_workbook

  1. from openpyxl import load_workbook
  2. # 加载已经存在的excel文档
  3. workbook = load_workbook('test.xlsx')
  4. # 获取第一张工作表
  5. sheet = workbook.active
  6. # 添加一整行数据
  7. sheet.append(['用户id','性别','昵称','市代码','省代码'])
  8. # 保存
  9. workbook.save()

加入数据话,一般采用的是一整行一整行的添加,非常方便高效

  1. sheet.append(['用户id','性别','昵称','市代码','省代码'])
  2. sheet.append(['78459037','1','Roger卓','441200','440000'])

读取数据

读取的话,同样的先打开一个工作表

  1. workbook = openpyxl.load_workbook("创新积分核心指标所需数据.xlsx")
  2. # 可以使用workbook对象的sheetnames属性获取到excel文件中哪些表有数据
  3. table = workbook.active
  4. # 获取最大列数
  5. rows = table.max_row
  6. # 获取最大行数
  7. cols = table.max_col

如果要获取哪行哪列的数据,然后使用这个就行了

table.cell(4, 5).value

即获取第4行5列的数据

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/834442
推荐阅读
相关标签
  

闽ICP备14008679号