测试开发全栈之Python自动化 openpyxl 一个可以读写 Excel 表格的库,真酷!

程序员一凡 · 2021年02月23日 · 1431 次阅读

前言

openpyxl 模块是一个读写 Excel 2010 文档的 Python 库,如果要处理更早格式的 Excel 文档,需要用到额外的库

Excel 文件三个对像

workbook: 工作簿,一个 excel 文件包含多个 sheet。
sheet:工作表,一个 workbook 有多个表名,如 “sheet1”, “sheet2” 等。
cell: 单元格,存储数据对象

安装

pip install openpyxl

第 1 步:打开文件

操作 excel 第一步就是打开文件
括号内必须传入文件的路径

# -*- coding: utf-8 -*-
# @Author : 公众号:程序员一凡

import openpyxl

wb = openpyxl.load_workbook("D:\\study\\test.xlsx")

第 2 步:创建工作表 (如果不创建表,直接跳到第 3 步)

使用代码的方法,去添加表名
默认是加到表最后

# -*- coding: utf-8 -*-
# @Author : 公众号:程序员一凡

import openpyxl

wb = openpyxl.load_workbook("D:\\study\\test.xlsx")

# 添加表名
sheet_study = wb.create_sheet("study")

# 方式二:插入到最开始的位置
# end = wb.create_sheet("study", 0)

第 3 步:选择表

操作一个 sheet 前,必须先要获取这个 sheet 对像

3.1 选择默认的表

获取当前活跃的表

# -*- coding: utf-8 -*-
# @Author : 程序员一凡

import openpyxl

wb = openpyxl.load_workbook("D:\\study\\test.xlsx")
default_name = wb.active
print(default_name)

# 运行结果
<Worksheet "Sheet1">

3.2 自定义选择表

语法:实例化对像 [“表名”]

# -*- coding: utf-8 -*-
# @Author : 程序员一凡

import openpyxl

wb = openpyxl.load_workbook("D:\\study\\test.xlsx")
study_name = wb["study"]

# 第2种获取表名的方式
# sheet = wb.get_sheet_by_name("study")
print(study_name)

# 运行结果
<Worksheet "study">

第 4 步:保存数据

添加表名或其它数据后,必须要保存,否则不会生效

# 添加后,必须要保存,否则不会生效
wb.save("D:\\study\\test.xlsx")

查看表名

# -*- coding: utf-8 -*-
# @Author : 程序员一凡

import openpyxl

wb = openpyxl.load_workbook("D:\\study\\test.xlsx")
sheet_names = wb.sheetnames
print(sheet_names)

# 运行结果
['Sheet1', 'Sheet2', 'study']

访问单元格

注意 row、column 行和列最小的值为 1

# -*- coding: utf-8 -*-
# @Author : 程序员一凡

import openpyxl

wb = openpyxl.load_workbook("D:\\study\\test.xlsx")
sheet = wb.active
sheet.cell(row=1, column=1, value="程序员一凡")
wb.save("D:\\study\\test.xlsx")

删除工作表

# -*- coding: utf-8 -*-
# @Author : 微信公众号:程序员一凡

import openpyxl

wb = openpyxl.load_workbook("D:\\study\\test.xlsx")
sheet = wb.active
# 方式一
wb.remove(sheet)
# 方式二
del wb[sheet]
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册