Python load_workbook的几个实用技巧

Python load_workbook的几个实用技巧

Python load_workbook的几个实用技巧

引言

Python 中的 openpyxl 库提供了强大的功能来处理 Excel 文件。其中,load_workbook 函数是非常常用的一个函数,用于加载已经存在的 Excel 文件,并提供读写的能力。本文将详细介绍 load_workbook 函数的几个实用技巧。

1. 加载 Excel 文件

要使用 openpyxl 库,首先需要安装它。可以使用 pip 包管理器,在命令行中运行以下命令安装:

pip install openpyxl

加载 Excel 文件很简单,只需使用 openpyxl 中的 load_workbook 函数。以下是加载文件的代码示例:

from openpyxl import load_workbook

# 加载 Excel 文件
workbook = load_workbook('example.xlsx')

2. 查看所有工作表

在加载了 Excel 文件后,可以使用 workbook 对象的 sheetnames 属性来查看所有的工作表名称。以下是代码示例:

# 获取所有工作表名称
sheets = workbook.sheetnames

# 打印工作表名称
for sheet_name in sheets:
    print(sheet_name)

运行结果可能如下所示:

Sheet1
Sheet2
Sheet3

3. 读取指定工作表

要读取指定的工作表,可以使用 workbook 对象的 active 属性来获取当前活动的工作表。也可以通过索引或名称来选择特定的工作表。以下是代码示例:

# 通过索引获取工作表
sheet = workbook.worksheets[0]

# 通过名称获取工作表
sheet = workbook['Sheet1']

4. 写入数据到单元格

使用 openpyxl 可以向指定单元格写入数据。要写入数据,需要指定工作表、行和列的索引。以下是代码示例:

from openpyxl.utils import get_column_letter

# 写入数据到指定单元格
sheet['A1'] = 'Hello, World!'

# 迭代写入多个数据
for i in range(10):
    col_letter = get_column_letter(i + 1)
    sheet[f'{col_letter}2'] = i+1

注意:在写入数据之后,需要使用 save 方法保存修改。

5. 保存修改后的 Excel 文件

修改完 Excel 文件后,需要使用 save 方法保存文件。以下是代码示例:

# 保存修改后的文件
workbook.save('example_modified.xlsx')

6. 获取行数和列数

要获取指定工作表的行数和列数,可以使用 max_rowmax_column 属性。以下是代码示例:

# 获取行数和列数
row_count = sheet.max_row
column_count = sheet.max_column

print(f'行数:{row_count}')
print(f'列数:{column_count}')

运行结果可能如下所示:

行数:10
列数:3

7. 循环读取数据

要循环遍历工作表中的数据,可以使用 iter_rows 方法逐行迭代。以下是代码示例:

# 循环读取数据
for row in sheet.iter_rows(values_only=True):
    print(row)

运行结果可能如下所示:

('Name', 'Age', 'City')
('Alice', 25, 'New York')
('Bob', 32, 'London')
('Charlie', 45, 'Paris')
...

8. 示例代码

from openpyxl import load_workbook
from openpyxl.utils import get_column_letter

# 加载 Excel 文件
workbook = load_workbook('example.xlsx')

# 获取所有工作表名称
sheets = workbook.sheetnames

# 打印工作表名称
for sheet_name in sheets:
    print(sheet_name)

# 通过索引获取工作表
sheet = workbook.worksheets[0]

# 通过名称获取工作表
sheet = workbook['Sheet1']

# 写入数据到指定单元格
sheet['A1'] = 'Hello, World!'

# 迭代写入多个数据
for i in range(10):
    col_letter = get_column_letter(i + 1)
    sheet[f'{col_letter}2'] = i+1

# 保存修改后的文件
workbook.save('example_modified.xlsx')

# 获取行数和列数
row_count = sheet.max_row
column_count = sheet.max_column

print(f'行数:{row_count}')
print(f'列数:{column_count}')

# 循环读取数据
for row in sheet.iter_rows(values_only=True):
    print(row)

结论

本文介绍了 openpyxlload_workbook 函数的几个实用技巧。通过这些技巧,可以方便地加载、读取、写入和保存 Excel 文件,从而对 Excel 文件进行灵活的操作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程