欢迎访问宙启技术站
智能推送

openpyxl怎么在sheet中读取、写入数据

发布时间:2023-05-15 16:19:36

openpyxl是一个Python库,用于读写Excel中的数据。它提供了一种简单易用的方式来处理Excel文件,包括读取和写入数据。

在openpyxl中,数据存储在工作簿(workbook),工作簿由一个或多个工作表(worksheet)组成,并且数据可以在工作表中进行读取和写入。

接下来我们将详细介绍如何在工作表中读取和写入数据。

1.读取数据

1.1 打开工作簿

要读取一个工作表中的数据,首先需要打开工作簿。使用openpyxl库的load_workbook()函数可以打开一个现有的工作簿。

例如,下面的代码打开一个名为“example.xlsx”的工作簿:

from openpyxl import load_workbook

workbook = load_workbook(filename="example.xlsx")

1.2 选择工作表

打开工作簿后,需要选择要读取数据的工作表。使用active属性选择打开的工作簿中的 个工作表:

worksheet = workbook.active

也可以通过工作表的名称选择工作表。例如,选择名为“Sheet1”的工作表:

worksheet = workbook["Sheet1"]

1.3 读取单元格数据

要读取工作表中的单元格数据,可以使用cell()函数。cell()函数需要两个参数,即要读取数据的单元格的行号和列号。

例如,要从第二行和第三列的单元格中读取数据,可以使用以下代码:

cell_value = worksheet.cell(row=2, column=3).value

在这个例子中,我们使用了cell()函数来选择行2列3的单元格,并且使用value属性读取该单元格中的值。

1.4 读取行数据

可以使用rows属性来读取整个工作表中的行。该属性返回一个生成器对象,该对象包含从工作表中返回的所有行。

例如,使用以下代码读取整个工作表中的行:

for row in worksheet.rows:
    print(row)

在这个例子中,我们使用循环遍历生成器对象,循环打印每一行。

1.5 读取列数据

可以使用columns属性来读取整个工作表中的列。该属性返回一个生成器对象,该对象包含从工作表中返回的所有列。

例如,使用以下代码读取整个工作表中的列:

for column in worksheet.columns:
    print(column)

在这个例子中,我们使用循环遍历生成器对象,循环打印每一列。

2.写入数据

2.1 创建新工作簿

要写入数据到工作表中,可以创建一个新的工作簿。使用openpyxl库的Workbook()函数可以创建一个新的工作簿。

例如,下面的代码创建一个新的工作簿:

from openpyxl import Workbook

workbook = Workbook()

2.2 选择工作表

创建一个新的工作簿后,需要选择要写入数据的工作表。使用active属性选择创建的工作簿中的 个工作表:

worksheet = workbook.active

也可以通过工作表的名称选择工作表。例如,选择名为“Sheet1”的工作表:

worksheet = workbook["Sheet1"]

2.3 写入单元格数据

要写入工作表中的单元格数据,可以使用cell()函数。cell()函数需要两个参数,即要写入数据的单元格的行号和列号。可以在单元格上使用value属性来设置它的值。

例如,要将值“Hello Openpyxl”写入第二行第三列的单元格中,可以使用以下代码:

worksheet.cell(row=2, column=3, value="Hello Openpyxl")

2.4 写入行数据

可以使用append()函数向工作表中添加一行数据。此函数需要一行数据的列表作为参数。

例如,使用以下代码向工作表中添加一行数据:

data = [1, 2, 3, 4, 5]
worksheet.append(data)

在这个例子中,我们向工作表中添加了一个名为“data”的列表。

2.5 写入列数据

我们可以通过遍历列表的方式,向工作表中添加一列数据。例如,使用以下代码向工作表中添加一列数据:

data = [1, 2, 3, 4, 5]

for i, value in enumerate(data, start=1):
    worksheet.cell(row=i, column=1, value=value)

在这个例子中,我们遍历了一个名为“data”的列表,使用enumerate()函数为每个值设置行号,并将其写入 列中。

以上就是使用openpyxl在工作表中读取和写入数据的方式。这个库提供了一种方便的方式来处理Excel文件,包括读取和写入数据。通过简单的代码示例,您可以明白如何在Excel文档中操纵单元格,行和列。