Python Openpyxl 库安装与配置详解

 更新时间:2025年09月06日 11:48:29   作者:wanglaqqqq  
Openpyxl是Python中用于操作 Excel文件的第三方库,专注于处理.xlsx、.xlsm等 Office Open XML 格式文件,本文给大家介绍Python Openpyxl库安装与配置,感兴趣的朋友跟随小编一起看看吧

一、Openpyxl 库简介

Openpyxl 是 Python 中用于操作 Excel 文件的第三方库,专注于处理 .xlsx、.xlsm 等 Office Open XML 格式文件。其核心功能包括读取、写入、修改 Excel 数据,支持单元格样式、图表、公式等高级操作。
核心优势:

  • ​功能全面:支持数据读写、样式调整、图表生成、公式计算等,覆盖 Excel 操作的 90% 以上需求。
  • ​高效轻量:能处理百万行级别的数据,适用于自动化办公与数据分析场景。
  • ​跨平台兼容:支持 Windows、macOS 和 Linux 系统,与 Microsoft Excel 无缝兼容。

二、安装与环境配置

通过 pip 一键安装:

pip install openpyxl

安装后导入模块即可使用:

import openpyxl

​三、基础操作与常用函数

​1. 创建与保存工作簿

​创建新 Excel 文件:

from openpyxl import Workbook
wb = Workbook()                 # 创建新工作簿
ws = wb.active                  # 获取默认工作表
ws.title = "数据表"             # 重命名工作表
wb.save("new_file.xlsx")        # 保存文件[1,5](@ref)

​加载现有 Excel 文件:

wb = openpyxl.load_workbook("example.xlsx")  # 读取文件

​2. 工作表与单元格操作

​选择工作表:

sheet = wb["Sheet1"]            # 按名称选择工作表
sheet = wb.worksheets[0]        # 按索引选择(首个工作表)[5](@ref)

​读写单元格数据:

# 方式1:通过坐标(A1格式)
cell_value = sheet["A1"].value  # 读取数据
sheet["B2"] = "Python"          # 写入数据[1](@ref)
# 方式2:通过行列索引(从1开始)
cell = sheet.cell(row=3, column=2, value=100)  # 写入数值[7](@ref)

​3. 批量数据处理

​逐行写入数据:

data = [["姓名", "年龄"], ["张三", 25], ["李四", 30]]
for row in data:
    sheet.append(row)           # 追加数据到末尾行[5](@ref)

​遍历单元格区域:

for row in sheet.iter_rows(min_row=2, max_col=3):  # 限定行、列范围
    for cell in row:
        print(cell.value)        # 逐行逐列读取[6](@ref)

​四、高级功能与常用函数

​1. 单元格样式设置

支持字体、颜色、对齐等样式调整:

from openpyxl.styles import Font, PatternFill, Alignment
# 设置字体样式
font = Font(name="宋体", size=12, bold=True, color="FF0000")
sheet["A1"].font = font
# 设置背景填充色
fill = PatternFill(start_color="FFFF00", fill_type="solid")
sheet["A1"].fill = fill
# 设置水平居中
sheet["A1"].alignment = Alignment(horizontal="center")[5,7](@ref)

​2. 图表与公式应用

​生成柱状图:

from openpyxl.chart import BarChart, Reference
chart = BarChart()
data = Reference(sheet, min_col=2, min_row=1, max_row=5)  # 选择B列数据
chart.add_data(data, titles_from_data=True)
sheet.add_chart(chart, "E5")     # 将图表插入E5位置[6,7](@ref)

​使用 Excel 公式:

sheet["C1"] = "=SUM(A1:B1)"      # 计算A1+B1的和
sheet["D1"] = "=AVERAGE(A1:A10)" # 计算A列前10行均值[6](@ref)

​3. 高级工作表操作

​合并单元格:

sheet.merge_cells("A1:D1")       # 合并A1到D1的单元格
sheet.unmerge_cells("A1:D1")     # 取消合并[7](@ref)

​调整行列尺寸:

sheet.column_dimensions["A"].width = 20   # 设置A列宽度
sheet.row_dimensions[1].height = 30       # 设置首行高度[5](@ref)

五、实用技巧与注意事项

​1. 性能优化

  • ​大文件处理:使用 iter_rows() 逐行读取,避免内存溢出。
  • ​批量操作:减少频繁的 save() 调用,优先在内存中完成修改后一次性保存。

​2. 异常处理

try:
    wb = openpyxl.load_workbook("file.xlsx")
except FileNotFoundError:
    print("文件不存在!")

​3. 资源管理

推荐使用 with 语句自动关闭文件:

with openpyxl.load_workbook("data.xlsx") as wb:
    sheet = wb.active
    # 处理数据...

​4. 注意事项

  • ​文件占用:保存前确保 Excel 未被其他程序打开。
  • ​日期处理:需将日期转换为 datetime 对象后再写入。

​六、应用场景

  1. ​自动化报表生成:批量填充数据模板并添加图表。
  2. ​数据清洗:通过公式和条件筛选清理 Excel 数据。
  3. ​跨系统数据迁移:将数据库查询结果导出为 Excel 文件。

到此这篇关于Python-Openpyxl 库详解的文章就介绍到这了,更多相关Python Openpyxl 库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python标准库之加密模块详解

    Python标准库之加密模块详解

    这篇文章主要为大家详细介绍了Python标准库中加密模块的相关知识,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解一下
    2023-07-07
  • python collections模块示例详解

    python collections模块示例详解

    Python的collections模块是其标准库中的一部分,包含了一些扩展内置数据类型的有用数据结构,如OrderedDict、defaultdict、Counter、deque和namedtuple等,这些数据结构在不同场景下都非常有用,能提供更高效的数据操作和方便的数据访问方式,有助于提升代码的性能和可读性
    2024-10-10
  • django 读取图片到页面实例

    django 读取图片到页面实例

    这篇文章主要介绍了django 读取图片到页面实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • 如何利用PyQt5制作一个简单的登录界面

    如何利用PyQt5制作一个简单的登录界面

    初学者制作登录界面时常遇到网上代码看不懂、不会用、用不了的问题,下面这篇文章主要给大家介绍了关于如何利用PyQt5制作一个简单的登录界面,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • Python中100个常用函数用法全面解析

    Python中100个常用函数用法全面解析

    Python是一种高级编程语言,具有很多强大的特性,其中之一就是内置函数,这篇文章主要介绍了Python中100个常用函数用法全面解析的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-12-12
  • 一文掌握Python函数进阶:参数类型与返回值

    一文掌握Python函数进阶:参数类型与返回值

    本文介绍了Python函数的五种参数类型,包括位置参数、默认参数、可变位置参数、关键字参数和可变关键字参数,以及它们的应用场景和传递细节,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2026-05-05
  • conda将python低版本环境升级到高版本的完整步骤

    conda将python低版本环境升级到高版本的完整步骤

    这篇文章主要给大家介绍了关于conda将python低版本环境升级到高版本的完整步骤,包括激活环境、升级Python版本、验证升级、处理依赖问题和测试环境等步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-04-04
  • 教你用Python matplotlib库制作简单的动画

    教你用Python matplotlib库制作简单的动画

    今天给大家带来的是关于Python的相关知识,文章围绕着用Python matplotlib制作简单的动画展开,文中有非常详细的介绍,需要的朋友可以参考下
    2021-06-06
  • Python使用draw类绘制图形示例讲解

    Python使用draw类绘制图形示例讲解

    这篇文章主要介绍了Python使用draw类绘制图形的哪些函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • numpy矩阵乘法中的multiply,matmul和dot的使用

    numpy矩阵乘法中的multiply,matmul和dot的使用

    本文主要介绍了numpy矩阵乘法中的multiply,matmul和dot的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02

最新评论