openpyxl怎么在sheet中读取、写入数据
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文档中操纵单元格,行和列。
