写点什么

Excel 的基本概念以及 Excel 文件的创建

作者:向阳逐梦
  • 2022-10-20
    四川
  • 本文字数:2686 字

    阅读完需:约 1 分钟

1.安装第三方库

为了能够使用 Python 对 Excel 文件进行操作,我们需要安装第三方库 openpyxl。

1.1 检查有没有安装第三方库

首先,检查有没有安装 openpyxl 库。在 Python 的终端或 IDE 里输入下面的命令:import openpyxl 如果没有报错,说明已经安装了 openpyxl。如果报如下错误:

则说明没有安装 openpyxl。这时候,我们可以使用如下命令来安装第三方库 openpyxl。pip install openpyxl

2.Excel 的基本概念

相信大家在生活工作中都使用过 Excel。接下来我们就来了解一下 Excel 的几个基本概念:

2.1 工作簿

一个 Excel 电子表格文档称为一个工作簿,一个工作簿保存在扩展名为 .xlsx 的文件中。

2.2 工作表

每个工作簿可以包含多个表(也称为工作表),用户当前查看的表(或关闭 Excel 前最后查看的表),称为活动表。

2.3 单元格

每个表都有一些列(地址是从 A 开始的字母)和一些行(地址是从 1 开始的数字)。在特定行和列的方格称为单元格。每个单元格都包含一个数字或文本值。单元格形成的网格和数据构成了表。

3.使用 Python 操作 Excel

在了解了 Excel 的基本概念后,我们来看如何使用 Python 进行 Excel 文件的操作。

3.1 工作簿的创建

# 工作簿的创建from openpyxl import Workbook
wb = Workbook()wb.save('test.xlsx')
复制代码

在上面的代码中,我们首先导入 openpyxl 库,接着创建一个 Workbook 对象并取名保存即可。这样在当前目录下便生成了一个 Excel 文件。如下图所示:

3.2 工作表的创建

讲完工作簿的创建后,我们来看下工作表的创建。

# 工作表的创建from openpyxl import Workbook
wb = Workbook()
wb.create_sheet('MySheet')wb.save('test.xlsx')
复制代码

在上面的代码中:

1.导入 `openpyxl` 库并创建一个 `Workbook` 对象 `wb`。2.使用 `create_sheet` 方法创建工作表,在调用 `create_sheet` 方法时只需要传入工作表的名称即可。
复制代码

由于在创建 Workbook 对象 wb 时已经默认创建了一个工作表 Sheet,所以在调用 create_sheet 创建 MySheet 工作表之后,工作簿中包含了两个工作表 Sheet 和 MySheet。如下图所示:

上面在调用 create_sheet 方法创建工作表时,只传入了工作表的名称。还有另外一种调用 create_sheet 的方式,就是不但传入工作表的名称,而且传入工作表在工作簿中的位置。接着上面的代码,添加如下代码:

wb.create_sheet('MySheet2', 0)wb.save('test.xlsx')
复制代码

上面的代码中,在调用 create_sheet 方法时,传入了工作表的名称和工作表在工作簿的位置。上述代码添加后的完整代码为:

from openpyxl import Workbook
wb = Workbook()
wb.create_sheet('MySheet')wb.save('test.xlsx')
wb.create_sheet('MySheet2', 0)wb.save('test.xlsx')
复制代码

上述的代码执行之后,工作簿中的工作表的布局如下图所示:

由于指定 MySheet2 工作表的位置为 0,所以 MySheet2 工作表是工作簿的第一个工作表。我们使用上面的方法再来添加一个工作表,接着上面的代码,添加如下代码:

wb.create_sheet('MySheet3', 2)wb.save('test.xlsx')
复制代码

上述代码添加后的完整代码为:

from openpyxl import Workbook
wb = Workbook()
wb.create_sheet('MySheet')wb.save('test.xlsx')
wb.create_sheet('MySheet2', 0)wb.save('test.xlsx')
wb.create_sheet('MySheet3', 2)wb.save('test.xlsx')
复制代码

上述的代码执行之后,工作簿中的工作表的布局如下图所示:

由于指定 MySheet3 的位置为 2,所以 MySheet3 为工作簿中的第三个工作表。

3.3 查看工作表的名字

工作表创建完成后,我们可以查看工作簿中的工作表,接上面的代码,添加如下代码:wb.sheetnames 上述代码添加后的完整代码为:

from openpyxl import Workbook
wb = Workbook()
wb.create_sheet('MySheet')wb.save('test.xlsx')
wb.create_sheet('MySheet2', 0)wb.save('test.xlsx')
wb.create_sheet('MySheet3', 2)wb.save('test.xlsx')
wb.sheetnames
复制代码

3.4 改变工作表的名字

通过代码我们同样可以改变工作表的名字,接上面的代码,添加如下代码:

ws = wb['Sheet']ws.title = 'MySheet0'wb.save('test.xlsx')wb.sheetnames
复制代码

上述代码添加后的完整代码为:

from openpyxl import Workbook
wb = Workbook()
wb.create_sheet('MySheet')wb.save('test.xlsx')
wb.create_sheet('MySheet2', 0)wb.save('test.xlsx')
wb.create_sheet('MySheet3', 2)wb.save('test.xlsx')
wb.sheetnames
ws = wb['Sheet']ws.title = 'MySheet0'wb.save('test.xlsx')wb.sheetnames
复制代码

在上面的代码中,首先获取工作表 Sheet,然后将其名字改为 MySheet0,最后进行工作簿的保存。执行完上述代码后,工作簿中工作表的情况如下图所示:

3.5 获取活跃表

用户当前查看的表(或关闭 Excel 前最后查看的表),称为活动表。通过代码我们可以获取活跃表。接上面的代码,添加如下代码:

ws = wb.activews.title
复制代码

上述代码添加后的完整代码为:

from openpyxl import Workbook
wb = Workbook()
wb.create_sheet('MySheet')wb.save('test.xlsx')
wb.create_sheet('MySheet2', 0)wb.save('test.xlsx')
wb.create_sheet('MySheet3', 2)wb.save('test.xlsx')
wb.sheetnames
ws = wb['Sheet']ws.title = 'MySheet0'wb.save('test.xlsx')wb.sheetnames
ws = wb.activews.title
复制代码

3.6 删除工作表

我们不但可以添加、修改工作表,还可以删除工作表。接上面的代码,添加如下代码:wb.sheetnames 上述代码添加后的完整代码为:

from openpyxl import Workbook
wb = Workbook()
wb.create_sheet('MySheet')wb.save('test.xlsx')
wb.create_sheet('MySheet2', 0)wb.save('test.xlsx')
wb.create_sheet('MySheet3', 2)wb.save('test.xlsx')
wb.sheetnames
ws = wb['Sheet']ws.title = 'MySheet0'wb.save('test.xlsx')wb.sheetnames
ws = wb.activews.title
wb.sheetnames
复制代码

在删除之前,我们首先查看当前工作簿中的工作表。如下图所示:

继续添加如下代码:

del wb['MySheet2']wb.save('test.xlsx')
复制代码

上述代码添加后的完整代码为:

from openpyxl import Workbook
wb = Workbook()
wb.create_sheet('MySheet')wb.save('test.xlsx')
wb.create_sheet('MySheet2', 0)wb.save('test.xlsx')
wb.create_sheet('MySheet3', 2)wb.save('test.xlsx')
wb.sheetnames
ws = wb['Sheet']ws.title = 'MySheet0'wb.save('test.xlsx')wb.sheetnames
ws = wb.activews.title
wb.sheetnames
del wb['MySheet2']wb.save('test.xlsx')
复制代码

在上面的代码中,使用 del 关键字来删除工作表,删除工作表 MySheet2 并保存之后,工作簿中的工作表如下图所示:

可以看到工作表 MySheet2 已经被删除。

发布于: 刚刚阅读数: 3
用户头像

向阳逐梦

关注

人生享受编程,编程造就人生! 2022-06-01 加入

某公司芯片测试工程师,嵌入式开发工程师,InfoQ签约作者,阿里云星级博主,华为云·云享专家。座右铭:向着太阳,追逐梦想!

评论

发布
暂无评论
Excel 的基本概念以及 Excel 文件的创建_Python_向阳逐梦_InfoQ写作社区