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

举报
二哈侠 发表于 2022/10/22 19:33:42 2022/10/22
【摘要】 1.安装第三方库为了能够使用 Python 对 Excel 文件进行操作,我们需要安装第三方库 openpyxl。1.1 检查有没有安装第三方库首先,检查有没有安装 openpyxl 库。在 Python 的终端或 IDE 里输入下面的命令:import openpyxl 如果没有报错,说明已经安装了 openpyxl。如果报如下错误:则说明没有安装 openpyxl。这时候,我们可以使用如...

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.active
ws.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.active
ws.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.active
ws.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.active
ws.title

wb.sheetnames

del wb['MySheet2']
wb.save('test.xlsx')

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

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。