当前位置: 首页 > news >正文

Python编程实战 - Python实用工具与库 - 操作Excel:openpyxl / pandas

在日常数据处理工作中,Excel 是最常见的数据文件格式之一。无论是财务报表、销售统计还是实验数据,Python 都能通过强大的库快速读写和处理 Excel 文件。其中最常用的就是 openpyxl 和 pandas

本文将带你了解这两个库的核心用法,并通过实战示例展示如何高效操作 Excel 文件。


一、openpyxl:原生 Excel 文件操作库

openpyxl 是一个专门用于读写 .xlsx 文件的纯 Python 库。它支持单元格读写、样式设置、图表创建等高级功能,适合对 Excel 文件结构进行精细控制的场景。

1. 安装 openpyxl
pip install openpyxl
2. 创建 Excel 文件
from openpyxl import Workbook# 创建一个新的工作簿
wb = Workbook()
ws = wb.active# 写入数据
ws['A1'] = '姓名'
ws['B1'] = '成绩'
ws.append(['Alice', 95])
ws.append(['Bob', 88])# 保存文件
wb.save('成绩表.xlsx')

运行后,你将得到一个包含学生成绩的 Excel 文件。

3. 读取 Excel 文件
from openpyxl import load_workbookwb = load_workbook('成绩表.xlsx')
ws = wb.activefor row in ws.iter_rows(values_only=True):print(row)

输出结果:

('姓名', '成绩')
('Alice', 95)
('Bob', 88)
4. 修改单元格内容
ws['B2'] = 98  # 修改 Alice 的成绩
wb.save('成绩表_修改.xlsx')
5. 设置单元格样式(可选)
from openpyxl.styles import Font, Alignmentws['A1'].font = Font(bold=True, color="FF0000")
ws['A1'].alignment = Alignment(horizontal='center')
wb.save('成绩表_格式.xlsx')

二、pandas:高效的数据分析利器

如果你更关注数据分析和批量处理,而不是 Excel 的格式细节,那么 pandas 是更高效的选择。
pandas 可以轻松地读写 Excel 文件并与 DataFrame 无缝结合。

1. 安装 pandas
pip install pandas openpyxl
2. 从 Excel 读取数据
import pandas as pddf = pd.read_excel('成绩表.xlsx')
print(df)

输出:

     姓名  成绩
0  Alice  95
1    Bob  88
3. 修改数据并写回 Excel
df.loc[df['姓名'] == 'Bob', '成绩'] = 90
df.to_excel('成绩表_更新.xlsx', index=False)
4. 多表格(多 Sheet)操作
with pd.ExcelWriter('多表格.xlsx') as writer:df.to_excel(writer, sheet_name='一班', index=False)df.to_excel(writer, sheet_name='二班', index=False)
5. 从多个 Excel 文件合并数据
import globfiles = glob.glob("data/*.xlsx")
all_data = pd.concat((pd.read_excel(f) for f in files))
all_data.to_excel('合并结果.xlsx', index=False)

三、openpyxl 与 pandas 的比较

特性openpyxlpandas
文件类型.xlsx.xls.xlsx.csv
操作粒度单元格级别表格/数据级别
适合场景精细化格式控制、表格样式、美化批量处理、分析计算、数据转换
是否支持样式✅ 是❌ 否(仅限数据)

结论:

  • • 如果你需要精细控制 Excel 外观(如模板、美化),推荐 openpyxl
  • • 如果你主要关注数据计算和处理,推荐 pandas

四、实战案例:销售数据汇总

假设你有多个销售 Excel 文件(如每月销售数据),需要快速汇总并输出总销售额。

import pandas as pd
import glob# 合并所有销售文件
files = glob.glob("sales/*.xlsx")
df = pd.concat([pd.read_excel(f) for f in files])# 汇总计算
summary = df.groupby('销售员')['销售额'].sum().reset_index()# 导出结果
summary.to_excel('销售汇总.xlsx', index=False)
print("汇总完成!")

这段代码可以帮你自动读取所有销售文件,统计每位销售员的总销售额,并生成一个新的汇总文件。


五、总结

通过本文的学习,你应该掌握了以下内容:

  1. 1. 使用 openpyxl 创建、修改和美化 Excel 文件。
  2. 2. 使用 pandas 快速读写、分析和汇总 Excel 数据。
  3. 3. 理解两者的差异与适用场景。
  4. 4. 掌握一个实战级的数据汇总案例。

无论你是做数据分析、办公自动化,还是构建数据驱动应用,Excel 操作都是 Python 工具箱中不可或缺的一环。
下一步,你可以继续学习如何用 pandas + Matplotlib 实现数据可视化,为数据报告添加图形洞察。

http://www.dtcms.com/a/600630.html

相关文章:

  • 开展我国电子网站建设wordpress表白
  • Java 在 Excel 中添加或删除批注:Spire.XLS for Java 实践指南
  • uniapp 使用unocss的问题
  • [Linux——Lesson23.线程概念与控制:线程基础]
  • 四大主流浏览器Chrome、Edge、Safari、Firefox内核检测免费工具评测
  • 弱网通话没保障?多网聚合,逐包调度,新技术扫除网络痛点
  • 网站制作公司的网站贵阳网站改版
  • 电脑硬件价格呈现持续上涨趋势及软件优化的必要性
  • Spring集成kafka的最佳方式
  • 设计网站怎么做网业是什么行业
  • RK3588应用分享之国产化系统-开源鸿蒙OpenHarmony
  • RabbitMQ-基础-总结
  • 学习react第二天
  • 【JVS更新日志】低代码、APS排产、物联网、企业计划11.12更新说明!
  • 前端注释规范:如何写“后人能看懂”的注释(附示例)
  • C语言编译器下载地址 | 如何选择适合自己的C语言编译器
  • HarmonyOS之深入解析如何实现语音朗读能力
  • 台州企业网站的建设做网站能挣多少钱
  • 网站开发内容包括哪些wordpress 统计代码
  • 【昇腾CANN工程实践】BERT情感分析API性能优化实录:从CPU到NPU的15倍加速
  • 【Linux基础开发工具 (二)】详解Linux文本编辑器:Vim从入门到精通——完整教程与实战指南(上)
  • 使用 BR 备份 TiDB 到阿里云 OSS 存储
  • 机器学习项目——基于集成学习提升树情绪分类(代码/论文)
  • C++ 抽象类与多态原理深度解析:从纯虚函数到虚表机制(附高频面试题)
  • 尚硅谷 SpringCloud 01 分布式概念-工程创建-nacos安装-nacos服务注册与发现 -远程调用
  • C# Sqlite帮助类
  • 传统方式部署 Hadoop 高可用集群
  • 微软 Win11 经典版 Outlook 曝 BUG,加速 SSD 损耗
  • C++在边缘AI加速中的硬件优化:结合位运算与SIMD提升推理效率
  • 网站开发文档撰写作业牡丹江整站优化