从入门到精通:Python OpenPyXL完整教程("Python OpenPyXL教程:从入门到精通完整指南")
原创
一、OpenPyXL简介
OpenPyXL 是一个用于读写 Excel 2010 xlsx/xlsm 文件的 Python 库。它提供了操作 Excel 文件的高级接口,赞成读取、写入和修改 Excel 文件。OpenPyXL 可以用于自动化 Excel 文件的生成、读取和修改,广泛应用于数据分析和处理等领域。
二、安装 OpenPyXL
要使用 OpenPyXL,首先需要安装它。可以使用 pip 命令进行安装:
pip install openpyxl
三、入门:读取和写入 Excel 文件
首先,我们需要了解怎样使用 OpenPyXL 读取和写入 Excel 文件。
3.1 读取 Excel 文件
使用 OpenPyXL 读取 Excel 文件非常易懂。以下是一个示例代码:
from openpyxl import load_workbook
# 加载工作簿
wb = load_workbook('example.xlsx')
# 获取工作表
sheet = wb.active
# 读取单元格
a1 = sheet['A1'].value
print(a1)
3.2 写入 Excel 文件
写入 Excel 文件也很易懂。以下是一个示例代码:
from openpyxl import Workbook
# 创建工作簿
wb = Workbook()
# 获取工作表
sheet = wb.active
# 写入单元格
sheet['A1'] = 'Hello World!'
# 保存工作簿
wb.save('example.xlsx')
四、进阶:操作工作表和工作簿
接下来,我们将学习怎样操作工作表和工作簿。
4.1 创建和删除工作表
以下是怎样创建和删除工作表的示例代码:
from openpyxl import Workbook
# 创建工作簿
wb = Workbook()
# 创建工作表
ws1 = wb.create_sheet(title='NewSheet')
ws2 = wb.create_sheet(index=0, title='AnotherSheet')
# 删除工作表
del wb['NewSheet']
# 保存工作簿
wb.save('example.xlsx')
4.2 复制工作表
以下是怎样复制工作表的示例代码:
from openpyxl import load_workbook
# 加载工作簿
wb = load_workbook('example.xlsx')
# 复制工作表
ws_copy = wb.active.copy(title='Copy of ' + wb.active.title)
# 保存工作簿
wb.save('example.xlsx')
4.3 设置工作簿属性
以下是怎样设置工作簿属性的示例代码:
from openpyxl import Workbook
# 创建工作簿
wb = Workbook()
# 设置工作簿属性
wb.title = 'MyWorkbook'
wb.subject = 'Example'
wb.author = 'Your Name'
# 保存工作簿
wb.save('example.xlsx')
五、高级:操作单元格和行
现在,我们将深入了解怎样操作单元格和行。
5.1 单元格操作
以下是怎样操作单元格的示例代码:
from openpyxl import Workbook
# 创建工作簿
wb = Workbook()
# 获取工作表
sheet = wb.active
# 设置单元格值
sheet['A1'] = 'Hello'
sheet['B1'] = 'World'
# 获取单元格值
a1_value = sheet['A1'].value
b1_value = sheet['B1'].value
# 修改单元格值
sheet['A1'] = 'Goodbye'
# 保存工作簿
wb.save('example.xlsx')
5.2 行操作
以下是怎样操作行的示例代码:
from openpyxl import Workbook
# 创建工作簿
wb = Workbook()
# 获取工作表
sheet = wb.active
# 插入行
sheet.insert_rows(2)
# 删除行
sheet.delete_rows(2)
# 保存工作簿
wb.save('example.xlsx')
六、数据处理:读取和写入数据
OpenPyXL 赞成读取和写入各种类型的数据,包括文本、数字、日期等。
6.1 读取数据
以下是怎样读取数据的示例代码:
from openpyxl import load_workbook
# 加载工作簿
wb = load_workbook('example.xlsx')
# 获取工作表
sheet = wb.active
# 读取数据
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)
# 关闭工作簿
wb.close()
6.2 写入数据
以下是怎样写入数据的示例代码:
from openpyxl import Workbook
# 创建工作簿
wb = Workbook()
# 获取工作表
sheet = wb.active
# 写入数据
data = [
['Name', 'Age', 'City'],
['Alice', 25, 'New York'],
['Bob', 30, 'Los Angeles'],
]
for row in data:
sheet.append(row)
# 保存工作簿
wb.save('example.xlsx')
七、格式化:设置单元格格式
OpenPyXL 允许我们设置单元格的格式,包括字体、颜色、边框等。
7.1 设置字体
以下是怎样设置字体的示例代码:
from openpyxl import Workbook
from openpyxl.styles import Font
# 创建工作簿
wb = Workbook()
# 获取工作表
sheet = wb.active
# 设置字体
font = Font(name='Calibri', size=11, bold=True, italic=False, color='FF0000')
sheet['A1'].font = font
# 保存工作簿
wb.save('example.xlsx')
7.2 设置颜色
以下是怎样设置颜色的示例代码:
from openpyxl import Workbook
from openpyxl.styles import PatternFill
# 创建工作簿
wb = Workbook()
# 获取工作表
sheet = wb.active
# 设置颜色
fill = PatternFill(start_color='FFFF00', end_color='FFFF00', fill_type='solid')
sheet['A1'].fill = fill
# 保存工作簿
wb.save('example.xlsx')
八、实战:使用 OpenPyXL 进行数据分析
OpenPyXL 可以用于各种数据分析任务。以下是一个示例,展示了怎样使用 OpenPyXL 对数据进行分析。
8.1 数据加载和预处理
以下是怎样加载和预处理数据的示例代码:
from openpyxl import load_workbook
# 加载工作簿
wb = load_workbook('example.xlsx')
# 获取工作表
sheet = wb.active
# 数据预处理
data = []
for row in sheet.iter_rows(min_row=2, values_only=True):
data.append(row)
# 分析数据
total_age = sum(row[1] for row in data)
average_age = total_age / len(data)
print(f'Total Age: {total_age}')
print(f'Average Age: {average_age}')
# 关闭工作簿
wb.close()
8.2 数据可视化
以下是怎样使用 OpenPyXL 进行数据可视化的示例代码:
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill
from openpyxl.chart import BarChart, Reference
# 创建工作簿
wb = Workbook()
# 获取工作表
sheet = wb.active
# 准备数据
data = [
['Name', 'Age'],
['Alice', 25],
['Bob', 30],
['Charlie', 35],
]
# 写入数据
for row in data:
sheet.append(row)
# 创建柱状图
chart = BarChart()
data = Reference(sheet, min_col=2, min_row=1, max_row=4, max_col=2)
categories = Reference(sheet, min_col=1, min_row=2, max_row=4)
chart.add_data(data, titles_from_data=True)
chart.set_categories(categories)
# 添加图表到工作表
sheet.add_chart(chart, "E2")
# 保存工作簿
wb.save('example.xlsx')
九、总结
本文介绍了 Python OpenPyXL 库的基本使用方法,包括读取和写入 Excel 文件、操作工作表和工作簿、操作单元格和行、数据处理、格式化单元格以及实战示例。通过这些内容,读者可以掌握 OpenPyXL 的基本用法,并在实际项目中应用。