下面我来给你详细讲解一下Python使用openpyxl批量处理数据的实例教程。
目录
- 什么是 openpyxl
- 安装 openpyxl 库
- 批量处理 xlsx 文件的步骤
- 示例说明
什么是 openpyxl
openpyxl 是一个用于读取和编写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。它是一个Python编写的轻量级库,易于使用,非常适合处理大量数据。
安装 openpyxl 库
在使用 openpyxl 库之前,需要先安装它。通过 pip 命令可安装该库:
pip install openpyxl
批量处理 xlsx 文件的步骤
- 导入 openpyxl 库
python
import openpyxl
- 打开 xlsx 文件
python
workbook = openpyxl.load_workbook(filename='file.xlsx')
- 获取工作表
python
worksheet = workbook['Sheet1']
- 遍历行和列
python
for row in worksheet.iter_rows(min_row=2, values_only=True):
for column in row:
# 处理单元格的数据
- 保存文件
python
workbook.save(filename='file.xlsx')
示例说明
以下是两个示例说明,用于说明如何使用 openpyxl 库批量处理 xlsx 文件。
示例一:
假设我们有一个数据文件,其中包含以下信息:
姓名 | 性别 | 年龄 |
---|---|---|
小明 | 男 | 18 |
小红 | 女 | 20 |
小华 | 男 | 22 |
小李 | 男 | 25 |
现在我们需要将每个人的年龄加 10,并将结果保存到同一文件的另一个工作表中。
import openpyxl
# 打开数据文件
workbook = openpyxl.load_workbook(filename='data.xlsx')
# 获取源工作表和目标工作表
worksheet_source = workbook['Sheet1']
worksheet_target = workbook.create_sheet('new_sheet')
# 遍历行和列
for row in worksheet_source.iter_rows(min_row=2, values_only=True):
age = row[2] + 10
worksheet_target.append([row[0], row[1], age])
# 保存文件
workbook.save(filename='data.xlsx')
示例二:
假设我们有一个文件夹,其中包含 xlsx 格式的多个文件。现在我们需要批量将这些文件中的数据进行处理,并将处理结果保存到一个新文件夹中。
import os
import openpyxl
# 原始文件夹和目标文件夹
source_folder = './data/'
target_folder = './processed_data/'
# 创建目标文件夹
if not os.path.exists(target_folder):
os.makedirs(target_folder)
# 遍历原始文件夹中的文件
for filename in os.listdir(source_folder):
if filename.endswith('.xlsx'):
# 打开文件
workbook = openpyxl.load_workbook(filename=source_folder + filename)
# 获取源工作表和目标工作表
worksheet_source = workbook['Sheet1']
worksheet_target = workbook.create_sheet('new_sheet')
# 遍历行和列
for row in worksheet_source.iter_rows(min_row=2, values_only=True):
age = row[2] + 10
worksheet_target.append([row[0], row[1], age])
# 保存文件
new_file_name = target_folder + filename
workbook.save(filename=new_file_name)
以上就是 Python 使用 openpyxl 批量处理数据的完整实例教程,包含两个示例说明。希望能对你的学习有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python使用openpyxl批量处理数据 - Python技术站