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 库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Django CSRF认证的几种解决方案

    Django CSRF认证的几种解决方案

    这篇文章主要介绍了Django CSRF认证的几种解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • python cv2 安装步骤详解

    python cv2 安装步骤详解

    文章介绍了Python中安装OpenCV的两种方法pip和conda,涵盖不同版本(含GPU/额外模块)的安装命令,以及验证安装和注意事项(如更新工具、权限处理、推荐使用虚拟环境),感兴趣的朋友一起看看吧
    2025-07-07
  • 如何将yolo格式转化为voc格式:txt转xml(亲测有效)

    如何将yolo格式转化为voc格式:txt转xml(亲测有效)

    这篇文章主要介绍了如何将yolo格式转化为voc格式:txt转xml,亲测有效,可以使用,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友参考下吧
    2023-12-12
  • 利用 Monkey 命令操作屏幕快速滑动

    利用 Monkey 命令操作屏幕快速滑动

    Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常
    2016-12-12
  • Python实现批量解压文件夹下所有压缩包

    Python实现批量解压文件夹下所有压缩包

    这篇文章主要为大家详细介绍了如何使用Python实现批量解压文件夹下所有压缩包,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-02-02
  • Python打造自己的专属命令行工具

    Python打造自己的专属命令行工具

    本文主要介绍了Python打造自己的专属命令行工具,使得在类Unix系统和Windows系统中,可以通过直接输入自定义命令来运行脚本,具有一定的参考价值,感兴趣的可以了解一下
    2025-05-05
  • Python的logging模块基本用法

    Python的logging模块基本用法

    这篇文章主要介绍了Python的logging模块基本用法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • 详解Python中如何将数据存储为json格式的文件

    详解Python中如何将数据存储为json格式的文件

    这篇文章主要介绍了详解Python中如何将数据存储为json格式的文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Python编程pydantic触发及访问错误处理

    Python编程pydantic触发及访问错误处理

    这篇文章主要为大家介绍了Python编程中pydantic会触发及发生访问错误的处理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-09-09
  • Django日志logging的配置和自定义添加方式

    Django日志logging的配置和自定义添加方式

    这篇文章主要介绍了Django日志logging的配置和自定义添加方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05

最新评论