python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python Openpyxl 库

Python Openpyxl 库安装与配置详解

作者:wanglaqqqq

Openpyxl是Python中用于操作 Excel文件的第三方库,专注于处理.xlsx、.xlsm等 Office Open XML 格式文件,本文给大家介绍Python Openpyxl库安装与配置,感兴趣的朋友跟随小编一起看看吧

一、Openpyxl 库简介

Openpyxl 是 Python 中用于操作 Excel 文件的第三方库,专注于处理 .xlsx.xlsm 等 Office Open XML 格式文件。其核心功能包括读取、写入、修改 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. 性能优化

​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. 注意事项

​六、应用场景

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

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

您可能感兴趣的文章:
阅读全文