Python Excel操作新玩法:从零到高手掌握openpyxl

简介: Python Excel操作新玩法:从零到高手掌握openpyxl

介绍

openpyxl是Python中一个强大的第三方库,用于操作Excel文件,它可以读取、写入和修改Excel文件,并且支持Excel文件中的样式、图表等元素。openpyxl使得在Python中处理Excel文件变得非常简单和高效。本文将从入门到精通地介绍openpyxl的使用方法,带你掌握在Python中处理Excel文件的技巧。

目录

  1. 安装和导入
  2. 创建和保存Excel文件
  3. 读取Excel文件
  4. 写入Excel文件
  5. 修改Excel文件
  6. 处理样式和格式
  7. 操作图表
  8. 总结

1. 安装和导入

首先,我们需要安装openpyxl库。可以使用pip命令进行安装:

pip install openpyxl

安装完成后,我们可以在Python代码中导入openpyxl库:

import openpyxl

2. 创建和保存Excel文件

我们可以使用openpyxl库来创建一个新的Excel文件,并将数据写入其中。

# 创建一个新的工作簿
workbook = openpyxl.Workbook()

# 获取活动的工作表(第一个工作表)
sheet = workbook.active

# 在工作表中写入数据
sheet['A1'] = 'Hello'
sheet['B1'] = 'World'

# 保存工作簿到文件
workbook.save('example.xlsx')

在上述代码中,我们使用openpyxl.Workbook()创建一个新的工作簿,并使用workbook.active获取第一个工作表。然后,我们使用sheet['A1']和sheet['B1']分别在A1和B1单元格中写入数据,并使用workbook.save()将工作簿保存为example.xlsx文件。

3. 读取Excel文件

openpyxl库可以读取已有的Excel文件,并提取其中的数据。

import openpyxl

# 打开已有的工作簿
workbook = openpyxl.load_workbook('example.xlsx')

# 获取活动的工作表(第一个工作表)
sheet = workbook.active

# 读取数据
cell_value = sheet['A1'].value
print(cell_value)  # 输出:Hello

在上述代码中,我们使用openpyxl.load_workbook()打开已有的工作簿,并使用workbook.active获取第一个工作表。然后,我们使用sheet['A1'].value读取A1单元格中的数据,并将其输出。

4. 写入Excel文件

除了在创建工作簿时写入数据,我们还可以在已有的工作簿中添加数据。

import openpyxl

# 打开已有的工作簿
workbook = openpyxl.load_workbook('example.xlsx')

# 获取活动的工作表(第一个工作表)
sheet = workbook.active

# 在工作表中写入数据
sheet['A2'] = 'Python'
sheet['B2'] = 'Programming'

# 保存工作簿到文件
workbook.save('example.xlsx')

在上述代码中,我们使用openpyxl.load_workbook()打开已有的工作簿,并使用workbook.active获取第一个工作表。然后,我们使用sheet['A2']和sheet['B2']分别在A2和B2单元格中写入数据,并使用workbook.save()将工作簿保存。

5. 修改Excel文件

openpyxl库还可以用于修改Excel文件中的数据。

import openpyxl

# 打开已有的工作簿
workbook = openpyxl.load_workbook('example.xlsx')

# 获取活动的工作表(第一个工作表)
sheet = workbook.active

# 修改数据
sheet['B1'] = 'Openpyxl'

# 保存工作簿到文件
workbook.save('example.xlsx')

在上述代码中,我们使用openpyxl.load_workbook()打开已有的工作簿,并使用workbook.active获取第一个工作表。然后,我们使用sheet['B1']修改B1单元格中的数据,并使用workbook.save()将工作簿保存。

6. 处理样式和格式

openpyxl库不仅可以读写数据,还可以处理Excel文件中的样式和格式。

import openpyxl
from openpyxl.styles import Font, Color

# 创建一个新的工作簿
workbook = openpyxl.Workbook()

# 获取活动的工作表(第一个工作表)
sheet = workbook.active

# 设置字体样式
font = Font(name='Arial', bold=True, italic=True, color=Color(rgb='FF0000'))
sheet['A1'].font = font

# 设置单元格背景颜色
sheet['B1'].fill = openpyxl.styles.PatternFill(start_color='FFFF00', end_color='FFFF00', fill_type='solid')

# 保存工作簿到文件
workbook.save('example_style.xlsx')

在上述代码中,我们使用Font和Color来设置字体样式和颜色。然后,我们分别在A1单元格和B1单元格中应用了这些样式,并将工作簿保存。

7. 操作图表

openpyxl库还支持在Excel文件中创建和操作图表。

import openpyxl
from openpyxl.chart import BarChart, Reference

# 创建一个新的工作簿
workbook = openpyxl.Workbook()

# 获取活动的工作表(第一个工作表)
sheet = workbook.active

# 在工作表中写入数据
sheet['A1'] = 'Category'
sheet['B1'] = 'Value'
sheet['A2'] = 'A'
sheet['B2'] = 10
sheet['A3'] = 'B'
sheet['B3'] = 20
sheet['A4'] = 'C'
sheet['B4'] = 15

# 创建柱状图
chart = BarChart()
data = Reference(sheet, min_col=2, min_row=1, max_col=2, max_row=4)
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, 'D1')

# 保存工作簿到文件
workbook.save('example_chart.xlsx')

在上述代码中,我们使用BarChart创建了一个柱状图,并在A1、B1、A2、B2等单元格中写入了数据。然后,我们使用Reference来引用数据和类别范围,并使用chart.add_data()和chart.set_categories()将数据和类别添加到图表中。最后,我们使用sheet.add_chart()将图表添加到工作表,并将工作簿保存。

8. 总结

通过本文的介绍,我们学习了openpyxl库的基本用法,包括创建和保存Excel文件、读取Excel文件、写入Excel文件、修改Excel文件、处理样式和格式以及操作图表等。openpyxl库为Python开发者提供了强大的Excel文件处理能力,使得在Python中处理Excel文件变得非常简单和高效。掌握openpyxl库的使用将为我们的工作和项目带来很大的便利。

目录
相关文章
|
4天前
|
Python
使用Python的openpyxl库
【5月更文挑战第17天】使用Python的openpyxl库
16 2
|
1天前
|
数据采集 数据安全/隐私保护 Python
2024年最新【Python】如何用Python来操作PDF文件,收藏(2),2024年最新阿里p7Python面试题
2024年最新【Python】如何用Python来操作PDF文件,收藏(2),2024年最新阿里p7Python面试题
2024年最新【Python】如何用Python来操作PDF文件,收藏(2),2024年最新阿里p7Python面试题
|
3天前
|
关系型数据库 Java 分布式数据库
实时计算 Flink版操作报错合集之在使用 Python UDF 时遇到 requests 包的导入问题,提示 OpenSSL 版本不兼容如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
23 5
|
4天前
|
数据采集 数据挖掘 关系型数据库
Excel计算函数(计算机二级)(1),2024年最新2024Python架构面试指南
Excel计算函数(计算机二级)(1),2024年最新2024Python架构面试指南
|
5天前
|
Java Apache 索引
POI操作大全(动态合并单元格,为单元格生成一个自定义的数据显示格式,自定义公式计算结果生成,读取excel,word文件在生成图片,word指定位置生成图片)
POI操作大全(动态合并单元格,为单元格生成一个自定义的数据显示格式,自定义公式计算结果生成,读取excel,word文件在生成图片,word指定位置生成图片)
|
6天前
|
存储 JSON 安全
Python中的文件操作与文件IO操作
【5月更文挑战第14天】在Python中,文件操作是常见任务,包括读取、写入和处理文件内容。`open()`函数是核心,接受文件路径和模式(如'r'、'w'、'a'、'b'和'+')参数。本文详细讨论了文件操作基础,如读写模式,以及文件IO操作,如读取、写入和移动指针。异常处理是关键,使用`try-except`捕获`FileNotFoundError`和`PermissionError`等异常。进阶技巧涉及`with`语句、`readline()`、`os`和`shutil`模块。数据序列化与反序列化方面,介绍了
18 0
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
Python转换Excel到Markdown
Python转换Excel到Markdown
13 0
|
6天前
|
Python
python如何读取excel文件,并修改内容?
python如何读取excel文件,并修改内容?
22 0
|
6天前
|
安全 测试技术 Python
零操作,高效下载:利用Playwright和Python完成文件下载
Playwright是Microsoft开发的跨浏览器自动化测试工具,能模拟用户操作,包括文件下载。在Python中,它提供`expect_download()`来处理文件下载,无需额外工具。下载开始时触发事件,完成后可通过`download.path()`获取路径。下载相关操作包括取消、删除、获取错误信息、所属页面、文件名、URL等。示例代码展示了如何下载pytest的压缩文件,简化了web自动化测试中的文件下载场景。
15 4
|
6天前
|
存储 数据采集 数据可视化
Python列表到Excel表格第一列的转换技术详解
Python列表到Excel表格第一列的转换技术详解
9 0