讲师中心 微信公众号

工具推荐

视频效率加速
剧云
剧云

中文短剧剧本制作平台

AniShort
AniShort

AI短剧协同制作平台

updream

一键生成高质量推广成片

Laper
Laper

剧本策划到成片协作

PythonExcel文件如何操作_openpyxl与xlrd使用教程【教程】

星宇吖_1410

星宇吖_1410

发布时间:2025-12-18 18:50:03

|

677人浏览过

|

来源于php中文网

原创

Python操作Excel首选openpyxl(支持.xlsx读写及样式等),xlrd仅限老旧.xls文件且已停更;新项目统一用openpyxl,大文件可结合pandas,避免混用导致格式错误。

pythonexcel文件如何操作_openpyxl与xlrd使用教程【教程】

Python 中操作 Excel 文件最常用的两个库是 openpyxl 和 xlrd,但它们的适用场景和能力差异明显——选错库容易踩坑。简单说:openpyxl 适合读写 .xlsx 文件(推荐用于新项目);xlrd 3.0+ 版本只支持读取 .xls(旧格式),已不再支持 .xlsx,老版本有安全风险且不兼容 Python 3.12+。

openpyxl:现代 Excel(.xlsx)的主力工具

openpyxl 是目前最主流、功能最全的 Excel 操作库,支持读写、样式、图表、公式、合并单元格等,专为 Office Open XML 格式(即 .xlsx/.xlsm/.xltx)设计。

  • 安装:pip install openpyxl
  • 读取 Excel:用 load_workbook() 打开文件,通过 active 或 sheetnames 获取工作表,再用行列索引或坐标(如 ['A1'])取值
  • 写入 Excel:新建 Workbook() 或加载后修改单元格值(ws['B2'] = 'Hello'),最后调用 wb.save('output.xlsx')
  • 注意:openpyxl 不解析公式结果,而是读取公式字符串;如需计算结果,需用 data_only=True 参数加载(但会丢失公式本身)

xlrd:仅限老旧 .xls 文件,新版慎用

xlrd 原本支持 .xls 和 .xlsx,但自 2020 年起,xlrd 2.0.0 开始彻底移除 .xlsx 支持,仅保留对 Excel 97-2003 格式(.xls)的读取能力。当前最新版(2.0.1+)不支持 Python 3.12,也不再维护。

阿拉丁·Excel 数据工坊|零依赖清洗·去重·透视·校验·合并·数据体检报告
阿拉丁·Excel 数据工坊|零依赖清洗·去重·透视·校验·合并·数据体检报告

阿拉丁·Excel 数据工坊把「拿到一份脏乱的 Excel/CSV/TSV,想洗成干净可用的数据——却卡在装 Office、装 WPS、绑飞书、调付费 API、各种 pandas 依赖冲突」升级成一条纯本地零依赖工具链:多源导入(xlsx/csv/tsv)与逐列类型推断、整行/按列去重、trim 规整、缺失值填充(0/均值/前向)、透视表(一维/二维)、规则校验(非空/唯一/范围/正则/枚举)、类 VLOOKUP 合并两表、可视化数据体检报告(HTML 交互 + Markdown + JSON)。比 sk

下载
  • 适用场景:必须处理遗留的 .xls 文件,且无法转成 .xlsx
  • 安装:pip install xlrd==2.0.1(避免自动升级到不兼容版本)
  • 基本用法:用 xlrd.open_workbook() 加载,sheet_by_index() 或 sheet_by_name() 获取表,cell_value(row, col) 读数据
  • 警告:不要用 xlrd 处理未知来源的 .xls 文件——它曾存在远程代码执行漏洞(CVE-2020-15939),老版本风险高

替代方案建议:按需求选更稳妥的库

单靠 xlrd 或 openpyxl 并不能覆盖所有场景。实际项目中推荐组合使用或切换:

立即学习“Python免费学习笔记(深入)”;

  • 统一转为 .xlsx:用 xlrd(仅限 .xls)或在线/桌面工具批量转换,后续全部用 openpyxl
  • 需要高性能读取大文件:考虑 pandas.read_excel()(底层自动调用 openpyxl 或 xlrd,根据后缀智能选择)
  • 纯读取 + 兼容性优先:用 pyxlsb(.xlsb)、odfpy(.ods),或 calamine(Rust 编写,速度快,支持 .xlsx/.xlsb)
  • 写入简单表格、不依赖 Excel 特性:直接用 pandas.to_excel(),简洁可靠

常见问题快速对照

遇到报错别慌,先看后缀和库是否匹配:

  • "Unsupported format, or corrupt file" → 用 openpyxl 打开了 .xls,或用 xlrd 打开了 .xlsx
  • "File contains no data" → xlrd 加载了空工作簿,或文件被其他程序占用
  • 中文乱码 → openpyxl 本身不涉及编码问题(Excel 是二进制格式),乱码多因字体缺失或单元格格式设为“文本”但内容未正确解码(pandas 读取时可加 encoding='utf-8',但仅适用于 csv 场景)
  • 保存后打不开 → 忘记调用 .save(),或路径含中文/特殊字符,建议用绝对路径测试

热门AI工具

更多
UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

码上飞
码上飞 Hot

一款基于自然语言的AI应用开发平台,可根据用户描述自动生成应用程序,帮助个人和团队快速完成应用原型与开发。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全

C++系统编程中的内存管理是指 对程序运行时内存的申请、使用和释放进行精细控制的机制,涵盖了栈、堆、静态区等不同区域,开发者需要通过new/delete、智能指针或内存池等方式管理动态内存,以避免内存泄漏、野指针等问题,确保程序高效稳定运行。它核心在于开发者对低层内存有完全控制权,带来灵活性,但也伴随高责任,是C++性能优化的关键。

106

2025.12.22

Rust异步编程与Tokio运行时实战
Rust异步编程与Tokio运行时实战

本专题聚焦 Rust 语言的异步编程模型,深入讲解 async/await 机制与 Tokio 运行时的核心原理。内容包括异步任务调度、Future 执行模型、并发安全、网络 IO 编程以及高并发场景下的性能优化。通过实战示例,帮助开发者使用 Rust 构建高性能、低延迟的后端服务与网络应用。

298

2026.02.11

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

642

2026.03.05

Rust 系统编程入门与实战
Rust 系统编程入门与实战

统讲解近年最受关注的系统级编程语言 Rust 的核心知识体系,涵盖 Rust 的安装与 Cargo 项目管理、变量绑定与不可变性设计哲学、所有权(Ownership)/ 借用(Borrowing)/ 生命周期(Lifetime)三大核心概念、结构体/枚举与模式匹配(match)、Trait 特征系统与泛型编程、错误处理(Result/Option)、智能指针(Box/Rc/Arc)、并发编程的无畏并发(Fearless Concurre

497

2026.05.29

Rust异步网络服务与Tokio Runtime深度实践
Rust异步网络服务与Tokio Runtime深度实践

本专题围绕 Rust 在高并发网络服务中的应用展开,系统讲解 Tokio 异步运行时、任务调度模型、Future 执行机制以及高性能网络编程方式。结合实际服务端案例,帮助开发者构建低延迟、高可靠的异步服务架构。

296

2026.06.29

Python 时间序列分析与预测
Python 时间序列分析与预测

本专题专注讲解 Python 在时间序列数据处理与预测建模中的实战技巧,涵盖时间索引处理、周期性与趋势分解、平稳性检测、ARIMA/SARIMA 模型构建、预测误差评估,以及基于实际业务场景的时间序列项目实操,帮助学习者掌握从数据预处理到模型预测的完整时序分析能力。

360

2025.12.04

Python 数据清洗与预处理实战
Python 数据清洗与预处理实战

本专题系统讲解 Python 在数据清洗与预处理中的核心技术,包括使用 Pandas 进行缺失值处理、异常值检测、数据格式化、特征工程与数据转换,结合 NumPy 高效处理大规模数据。通过实战案例,帮助学习者掌握 如何处理混乱、不完整数据,为后续数据分析与机器学习模型训练打下坚实基础。

292

2026.01.31

Python数据分析与Pandas高级实战
Python数据分析与Pandas高级实战

本专题围绕 Python 数据分析展开,系统讲解 Pandas 的高级用法,包括数据清洗、透视表、时间序列分析以及多表合并与分组操作。通过实战案例,帮助开发者掌握高效处理与分析数据的方法,提高数据处理效率与分析能力。

931

2026.04.13

Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

20

2026.11.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 45.6万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 3.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn