优草派  >   Python

openpyxl如何在sheet中读取、写入数据?

杨雨欣            来源:优草派

Openpyxl是一个Python模块,用于读取和写入Excel电子表格文件,它能够帮助我们轻松地在Python中处理Excel电子表格,包括读取和写入数据、操作单元格、复制和粘贴数据等等。本文将介绍如何在sheet中读取、写入数据,并提供一些实用的代码示例。一、安装Openpyxl

在使用Openpyxl之前,我们需要先安装它。可以使用pip命令来安装Openpyxl,打开命令行窗口,输入以下命令:

openpyxl如何在sheet中读取、写入数据?

```

pip install openpyxl

```

二、读取数据

读取Excel文件的第一步是打开文件。可以使用load_workbook()函数来打开一个Excel文件,如下所示:

```

from openpyxl import load_workbook

wb = load_workbook(filename = 'example.xlsx')

```

这里的filename参数是要打开的Excel文件的文件名。load_workbook()函数返回一个Workbook对象,它表示整个Excel文件。我们可以通过sheetnames属性来获取所有工作表的名称,如下所示:

```

sheet_names = wb.sheetnames

```

如果我们只需要读取一个特定的工作表,可以使用get_sheet_by_name()函数来获取工作表对象,如下所示:

```

sheet = wb.get_sheet_by_name('Sheet1')

```

接下来,我们可以使用sheet对象的cell()方法来读取单元格的值,如下所示:

```

value = sheet.cell(row = 1, column = 1).value

```

这里的row和column参数指定要读取的单元格的行和列。value属性是该单元格的值。如果我们要同时读取多个单元格的值,可以使用for循环来遍历单元格,如下所示:

```

for row in sheet.iter_rows(min_row = 1, max_row = 3, min_col = 1, max_col = 3):

for cell in row:

print(cell.value)

```

这里的iter_rows()方法返回一个生成器,它生成一个由行中每个单元格组成的元组。我们可以使用for循环来遍历这个生成器,并使用cell.value属性来获取每个单元格的值。

三、写入数据

写入数据与读取数据类似,也需要先打开Excel文件并获取工作表对象。我们可以使用sheet对象的cell()方法来写入单元格的值,如下所示:

```

sheet.cell(row = 1, column = 1, value = 'Hello, world!')

```

这里的row和column参数指定要写入的单元格的行和列,value参数是要写入的值。

如果我们要同时写入多个单元格的值,可以使用for循环来遍历单元格,并使用cell.value属性来设置每个单元格的值,如下所示:

```

values = [

['Name', 'Age', 'Gender'],

['Tom', 18, 'Male'],

['Lucy', 19, 'Female'],

['Jack', 20, 'Male']

]

for row in range(len(values)):

for col in range(len(values[row])):

sheet.cell(row = row+1, column = col+1, value = values[row][col])

```

这里的values是一个二维列表,它包含了要写入的所有数据。我们可以使用for循环来遍历这个列表,并使用sheet.cell()方法来设置每个单元格的值。

四、其他操作

除了读取和写入数据之外,Openpyxl还提供了许多其他的操作,例如操作行和列、设置单元格样式、复制和粘贴数据等等。以下是一些实用的代码示例:

1、在单元格中设置公式

```

sheet.cell(row = 1, column = 3).value = '=SUM(A1:B1)'

```

这里的value属性设置为一个公式字符串,它将计算A1和B1单元格的和。

2、合并单元格

```

sheet.merge_cells('A1:B1')

```

这里的merge_cells()方法将A1和B1单元格合并成一个单元格。

3、设置单元格样式

```

from openpyxl.styles import Font, Alignment

font = Font(name='Calibri', size=14, bold=True, italic=False, underline='single')

alignment = Alignment(horizontal='center', vertical='center')

cell = sheet.cell(row = 1, column = 1)

cell.font = font

cell.alignment = alignment

```

这里的Font对象表示字体样式,Alignment对象表示对齐方式。我们可以将这些对象分别赋值给单元格的font和alignment属性,来设置单元格的样式。

五、

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行