pin_drop当前位置:知识文库 ❯ 图文

Python openpyxl库简介与安装教程 - Excel文件处理入门

一、概述

openpyxl是Python中用于读写Excel 2010+(.xlsx/.xlsm)文件的第三方库。它支持创建、修改、读取Excel工作簿、工作表、单元格、图表、样式等几乎所有Excel元素。openpyxl不依赖Microsoft Excel,可跨平台运行,是Python处理Excel文件的首选工具。


二、语法

代码示例

from openpyxl import Workbook, load_workbook

三、安装参数说明

参数 说明
pip install openpyxl 使用pip安装
pip install openpyxl==3.1.2 安装指定版本
pip install openpyxl --upgrade 升级到最新版本

四、返回值

导入后即可使用Workbookload_workbook等核心类。


五、代码示例

示例1:安装并导入openpyxl

代码示例

from openpyxl import Workbook, load_workbook

import openpyxl
print(f"openpyxl版本: {openpyxl.__version__}")
print(f"安装路径: {openpyxl.__file__}")

输出:

代码示例

openpyxl版本: 3.1.2
安装路径: C:\Python39\lib\site-packages\openpyxl\__init__.py

示例2:创建第一个Excel文件

代码示例

from openpyxl import Workbook

# 创建工作簿
wb = Workbook()

# 获取活动工作表
ws = wb.active
ws.title = 'Hello'

# 写入数据
ws['A1'] = 'Hello'
ws['B1'] = 'openpyxl!'
ws['A2'] = 100
ws['B2'] = 200

# 保存文件
wb.save('hello.xlsx')
print("文件已保存为 hello.xlsx")

输出:

代码示例

文件已保存为 hello.xlsx

示例3:openpyxl核心功能概览

代码示例

from openpyxl import Workbook

wb = Workbook()
ws = wb.active

# 1. 基本读写
ws['A1'] = '数据写入'
print(f"读取A1: {ws['A1'].value}")

# 2. 批量写入
data = [['姓名', '年龄', '城市'],
        ['张三', 25, '北京'],
        ['李四', 30, '上海']]
for row in data:
    ws.append(row)

# 3. 工作表操作
ws2 = wb.create_sheet('Sheet2')
print(f"工作表列表: {wb.sheetnames}")

# 4. 读取数据
for row in ws.iter_rows(min_row=1, max_row=4, values_only=True):
    print(f"  {row}")

wb.save('overview.xlsx')
print("\n概览文件已保存")

输出:

代码示例

读取A1: 数据写入
工作表列表: ['Hello', 'Sheet2']
  ('数据写入', 'openpyxl!', None, None)
  ('姓名', '年龄', '城市')
  ('张三', 25, '北京')
  ('李四', 30, '上海')

概览文件已保存

六、实际应用场景

  • 数据报表自动生成:定期从数据库提取数据写入Excel

  • 批量处理Excel文件:合并多个表格或提取特定数据

  • 自动化测试报告:将测试结果写入Excel报告


七、注意事项

注意:openpyxl只支持.xlsx格式,不支持旧版.xls格式(需使用xlrd/xlwt)

注意:openpyxl是第三方库,需要通过pip install openpyxl安装

注意:处理大文件时,建议使用read_only和write_only模式节省内存


八、Python Excel库对比

特性 openpyxl xlrd/xlwt xlsxwriter pandas
读取.xlsx 支持 xlrd支持 不支持 支持
写入.xlsx 支持 xlwt不支持 支持 支持
修改已有文件 支持 不支持 不支持 支持
样式设置 支持 有限 支持 有限
图表支持 支持 不支持 支持 不支持
大文件处理 read_only模式 不支持 流式写入 依赖openpyxl

九、小结

  • openpyxl是Python处理Excel .xlsx文件的首选库

  • 支持创建、读取、修改工作簿、工作表、单元格等所有Excel元素

  • 不依赖Microsoft Excel,跨平台运行

  • 大文件处理建议使用read_only/write_only模式


十、练习题

练习1

安装openpyxl,打印版本号,创建一个工作簿并保存为test.xlsx

练习2

创建一个工作簿,在活动工作表中写入3行3列的数据,保存后重新打开读取

练习3

创建一个工作簿,添加3个工作表,分别命名为"一月"、"二月"、"三月"

常见问题

openpyxl支持读取.xls格式的文件吗?

不支持。openpyxl只支持Excel 2010+的.xlsx和.xlsm格式。如果需要处理旧版.xls文件,可以使用xlrd库读取,或用Excel先将文件另存为.xlsx格式。

openpyxl和pandas处理Excel有什么区别?

pandas适合数据分析和处理,底层使用openpyxl读写Excel文件。openpyxl更适合精细控制Excel的格式、样式、图表等元素。如果只是读取数据做分析,pandas更简洁;如果需要设置单元格格式、创建图表等,openpyxl更合适。

如何处理超大Excel文件避免内存溢出?

读取大文件时使用load_workbook(filename, read_only=True)只读模式,写入大文件时使用Workbook(write_only=True)只写模式。这两种模式采用流式处理,可以大幅降低内存占用。

openpyxl可以在没有安装Microsoft Excel的电脑上使用吗?

完全可以。openpyxl不依赖Microsoft Excel,它直接读写.xlsx文件(本质上是ZIP压缩包格式的XML文件),因此可以在Windows、macOS、Linux等任何安装了Python的平台上运行。

标签: openpyxl Python Excel Excel读写 xlsx处理 Python库安装 自动化办公

本文涉及AI创作

内容由AI创作,请仔细甄别

list快速访问

上一篇: Matplotlib中文显示完全指南 - 字体配置、乱码解决、跨平台 下一篇: Python openpyxl创建工作簿教程 - Workbook使用详解

poll相关推荐