从入门到精通:Python OpenPyXL完整教程("Python OpenPyXL教程:从入门到精通完整指南")

原创
ithorizon 6个月前 (10-21) 阅读数 23 #后端开发

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 的基本用法,并在实际项目中应用。


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: 后端开发


热门