当前位置: 首页 > news >正文

Python中openpyxl库的基础解析与代码实例

目录

1. 前言

2. 安装openpyxl

3. 创建一个新的工作簿

4. 打开一个已有的工作簿

5. 读取和写入单元格

6. 操作工作表

7. 样式设置

8. 插入图像

9. 插入图表

10. 数据验证

11. 条件格式

12. 工作簿保护

13. 保存和关闭工作簿

14. 总结


1. 前言

在数据分析和处理的过程中,Excel文件是一种非常常见的数据格式。Python作为一种强大的编程语言,提供了多种库来处理Excel文件,其中openpyxl是一个非常流行的库。openpyxl是一个专门用于读取和写入Excel xlsx/xlsm/xltx/xltm文件的Python库。它提供了丰富的功能,可以满足我们在处理Excel文件时的大部分需求。在本篇博客中,我将详细介绍openpyxl库的基本用法和一些常用功能。无论你是初学者还是有一定经验的开发者,都可以通过本文了解如何使用openpyxl来操作Excel文件。

2. 安装openpyxl

在使用openpyxl之前,我们需要先安装它。可以使用pip命令来安装:

pip install openpyxl

3. 创建一个新的工作簿

from openpyxl import Workbook# 创建一个新的工作簿
wb = Workbook()# 获取当前活动的工作表
ws = wb.active# 给工作表设置标题
ws.title = "My First Sheet"# 保存工作簿
wb.save("example.xlsx")

4. 打开一个已有的工作簿

from openpyxl import load_workbook# 打开一个已有的工作簿
wb = load_workbook('example.xlsx')# 获取所有工作表的名称
print(wb.sheetnames)# 获取特定的工作表
ws = wb['My First Sheet']

5. 读取和写入单元格

# 写入数据到单元格
ws['A1'] = 'Hello'
ws['B1'] = 'World'# 读取单元格的值
print(ws['A1'].value)  # 输出:Hello# 另一种写入方式
ws.append([1, 2, 3])  # 在最后一行追加一行数据

6. 操作工作表

# 创建新的工作表
ws1 = wb.create_sheet("New Sheet")# 复制工作表
ws2 = wb.copy_worksheet(ws1)
ws2.title = "Copied Sheet"# 删除工作表
del wb['New Sheet']

7. 样式设置

from openpyxl.styles import Font, Alignment, PatternFill, Border, Side# 设置字体
font = Font(name='Arial', size=12, bold=True, italic=True, color='FF0000')
ws['A1'].font = font# 设置对齐方式
alignment = Alignment(horizontal='center', vertical='center')
ws['A1'].alignment = alignment# 设置填充颜色
fill = PatternFill(start_color='FFFF00', end_color='FFFF00', fill_type='solid')
ws['A1'].fill = fill# 设置边框
border = Border(left=Side(style='thin'),right=Side(style='thin'),top=Side(style='thin'),bottom=Side(style='thin')
)
ws['A1'].border = border

8. 插入图像

from openpyxl.drawing.image import Image# 插入图像
img = Image('example.jpg')
ws.add_image(img, 'D1')

9. 插入图表

from openpyxl.chart import BarChart, Reference# 准备数据
data = Reference(ws, min_row=1, min_col=1, max_row=5, max_col=2)# 创建图表
chart = BarChart()
chart.add_data(data, titles_from_data=True)# 设置图表标题
chart.title = "Sales Data"
chart.x_axis.title = 'Month'
chart.y_axis.title = 'Sales'# 添加图表到工作表
ws.add_chart(chart, "E1")

10. 数据验证

from openpyxl.worksheet.datavalidation import DataValidation# 创建数据验证规则
dv = DataValidation(type="list", formula1='"Apple,Banana,Cherry"', showDropDown=True)# 将数据验证应用到单元格
dv.add('A2:A10')
ws.add_data_validation(dv)

在Excel的A2到A10单元格区域,会自动生成一个下拉列表,用户只能从预设的选项中选择值(AppleBananaCherry),而不能输入其他内容。 

11. 条件格式

from openpyxl.styles import Font
from openpyxl.formatting.rule import CellIsRule# 设置条件格式规则
red_font = Font(color='FF0000')
rule = CellIsRule(type='greaterThan', formula=['50'], font=red_font)# 应用条件格式
ws.conditional_formatting.add('B2:B10', rule)

上面代码的功能是为Excel工作表中的特定单元格区域(B2:B10)设置条件格式,实现“当单元格的值大于50时,字体变为红色”的效果。 

12. 工作簿保护

# 保护工作簿
wb.security.workbook_password = 'secret'
wb.security.lockStructure = True# 保护工作表
ws.protection.sheet = True
ws.protection.password = 'sheetsecret'

13. 保存和关闭工作簿

# 保存工作簿
wb.save('example.xlsx')# 关闭工作簿(在某些情况下可能需要)
wb.close()

14. 总结

openpyxl是一个功能强大且易于使用的Python库,用于处理Excel文件。从基本的创建和打开工作簿,到复杂的样式设置、图表插入、数据验证等高级功能,openpyxl都能满足我们的需求。通过本篇博客的介绍,大家应该已经掌握了openpyxl的基本用法和一些常用功能。在实际项目中,openpyxl可以帮助我们高效地处理Excel数据,提高工作效率。我是橙色小博,关注我,一起在人工智能领域进步!

相关文章:

  • 微信小店推客系统达人用户管理的数据支持和便利
  • window10下docker方式安装dify步骤
  • Leetcode 2005. 斐波那契树的移除子树游戏
  • 【算法提升】分组 day_tow
  • 【Doris基础】Apache Doris业务场景全解析:从实时数仓到OLAP分析的完美选择
  • ECS-7000能耗监测系统能耗数据管理机
  • iEKF的二维应用实例
  • 产品更新|数字主线深度解析:华望解决方案助力企业数字化转型
  • RabbitMQ和MQTT区别与应用
  • 粽叶飘香时 山水有相逢
  • 【动手学深度学习】2.5. 自动微分
  • 北京大学肖臻老师《区块链技术与应用》公开课:06-BTC-网络
  • PSpice软件快速入门系列--07.如何进行Worst Case最坏情况分析
  • TypeScript 中感叹号(!)两种位置用法
  • 基于粒子滤波的PSK信号解调实现
  • C#上传图片后压缩
  • Java处理动态的属性:字段不固定、需要动态扩展的 JSON 数据结构
  • FastAPI 项目配置管理
  • C/C++ 面试复习笔记(2)
  • << C程序设计语言第2版 >> 练习 1-23 删除C语言程序中所有的注释语句
  • 做net网站/厦门seo网络优化公司
  • 做动态logo网站/潍坊在线制作网站
  • wordpress 前台 用户/seo教程seo教程
  • 做cpa推广的网站怎么弄/北京网站优化seo
  • 网站建设预付款比例/长沙建站工作室
  • 开发一个app要多久/武汉百度快照优化排名