Python 操作 Excel 之 openpyxl 模块

  • Post category:Python

下面是关于Python操作Excel之openpyxl模块的完整实例教程。

1. 什么是openpyxl模块?

openpyxl是一个Python模块,可以用来操作Excel文件。它支持Excel 2010及以上版本,并提供了一个简单易用的API,可以打开、读取、写入Excel文件。openpyxl的文档完整且易于理解,与其他Python操作Excel的模块相比,openpyxl的使用体验更好。

2. 安装openpyxl

安装openpyxl非常简单,可以使用pip命令完成安装:

pip install openpyxl

3. 打开Excel文件

使用openpyxl打开Excel文件非常容易。只需调用openpyxl.load_workbook()函数并传递文件路径和文件名即可。

下面是一个简单的示例,用于打开Excel文件并显示所有的工作表:

import openpyxl

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

# 显示所有工作表名
print(workbook.sheetnames)

4. 读取Excel文件

读取Excel文件是openpyxl模块最有用的功能之一。可以使用openpyxl模块访问单元格、行、列甚至整张工作表的所有数据。

4.1 读取单元格

要读取单元格的值,可以使用openpyxl.Worksheet.cell()函数并传递单元格的行数和列数:

import openpyxl

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

# 获取工作表
worksheet = workbook.active

# 读取单元格
cell_value = worksheet.cell(row=1, column=1).value

# 输出单元格的值
print(cell_value)

4.2 读取行

要读取一整行的数据,可以使用openpyxl.Worksheet.iter_rows()函数并传递行数:

import openpyxl

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

# 获取工作表
worksheet = workbook.active

# 读取整行
for row in worksheet.iter_rows(min_row=1, max_row=1):
    for cell in row:
        print(cell.value)

4.3 读取列

要读取一整列的数据,可以使用openpyxl.Worksheet.iter_cols()函数并传递列数:

import openpyxl

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

# 获取工作表
worksheet = workbook.active

# 读取整列
for col in worksheet.iter_cols(min_col=1, max_col=1):
    for cell in col:
        print(cell.value)

5. 写入Excel文件

使用openpyxl模块写入Excel文件非常简单。只需访问单元格、行、列并设置它们的值即可。

5.1 写入单元格

要写入单元格的值,可以使用openpyxl.Worksheet.cell()函数并传递单元格的行数和列数:

import openpyxl

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

# 获取工作表
worksheet = workbook.active

# 写入单元格
worksheet.cell(row=1, column=1, value='Python')

# 保存Excel文件
workbook.save('example.xlsx')

5.2 写入行

要写入一整行的数据,可以使用openpyxl.Worksheet.iter_rows()函数并传递行数:

import openpyxl

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

# 获取工作表
worksheet = workbook.active

# 写入整行
worksheet.append(['Python', 'is', 'easy'])

# 保存Excel文件
workbook.save('example.xlsx')

5.3 写入列

要写入一整列的数据,可以使用openpyxl.Worksheet.iter_cols()函数并传递列数:

import openpyxl

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

# 获取工作表
worksheet = workbook.active

# 写入整列
worksheet.column_dimensions['A'].width = 20
worksheet['A1'] = 'Python'
worksheet['A2'] = 'is'
worksheet['A3'] = 'easy'

# 保存Excel文件
workbook.save('example.xlsx')

以上就是关于Python操作Excel之openpyxl模块的完整实例教程。这里给出了读取和写入行、列、单元格的示例,可以用这些基础示例扩展学习和应用openpyxl模块。