python中openpyxl库用法详解

  • Post category:Python

下面就是Python中openpyxl库的用法详解。

1. 什么是openpyxl

openpyxl是一个Python库,用于读写Excel 2010 xlsx/xlsm/xltx/xltm格式的文件。它是一个开放源代码库,可以用于以下操作:

  • 读取Excel文件(包含工作表、单元格、公式等)。
  • 写入Excel文件(创建工作簿、工作表、单元格、公式等)。
  • 修改现有Excel文件。

openpyxl已经成为Python生态系统中访问Excel文件的首选工具之一。

2. 安装openpyxl

可以在Python中使用pip工具安装openpyxl库,在命令行中输入以下命令:

pip install openpyxl

3. 使用openpyxl

读取Excel文件

在Python中使用openpyxl读取Excel文件十分简单。只需两步即可:

  1. 打开Excel文件。
  2. 读取工作表,以及工作表中的单元格。

下面是一个示例,演示如何使用openpyxl读取一个Excel文件,并打印出B2单元格中的值:

import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')

# 读取工作表
sheet = workbook.active

# 读取单元格的值
value = sheet['B2'].value

# 打印单元格的值
print(value)

在这个示例中,我们打开了一个名为example.xlsx的Excel文件,读取了其中的活动工作表,并读取B2单元格的值,并将其打印出来。

写入Excel文件

创建一个工作簿,并写入数据,是使用openpyxl的最常见用法之一。openpyxl提供了一个非常方便的API来操作Excel工作簿。

下面是一个示例,演示如何使用openpyxl创建一个Excel文件,并添加一张名为“Sheet1”的工作表,并在其中添加单元格:

import openpyxl

# 创建一个工作簿
workbook = openpyxl.Workbook()

# 添加一张名为"Sheet1"的工作表
sheet = workbook.active
sheet.title = 'Sheet1'

# 在单元格A1中添加数据
sheet['A1'] = 'Hello world!'

# 保存工作簿
workbook.save('example.xlsx')

在这个示例中,我们创建了一个名为example.xlsx的Excel文件,并在其中添加了一个名为“Sheet1”的工作表。随后我们在单元格A1中添加了一个字符串“Hello World!”。

使用openpyxl处理大型数据文件

当处理大型Excel文件时,openpyxl库有时可能会引发内存问题。在这些情况下,可以通过按列处理数据来避免内存问题。按列处理数据是指将整个工作表载入内存,但仅读取单个列或只写单个列。这在处理大型数据集时非常有用。

下面是一个示例,演示如何使用openpyxl按列读取数据:

import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')

# 读取工作表
sheet = workbook.active

# 定义单元格列的范围
column_range = sheet['A':'B']

# 遍历单元格列,并打印它们的值
for row in column_range:
    for cell in row:
        print(cell.value)

在这个示例中,我们打开了一个名为example.xlsx的Excel文件,并读取了其中的活动工作表。随后我们按列读取数据,并遍历了A列和B列中的所有单元格。