Python操作Excel的实用工具与库openpyxl/pandas的详细指南

 更新时间:2025年11月13日 09:48:05   作者:程序员爱钓鱼  
在日常数据处理工作中,Excel 是最常见的数据文件格式之一,本文将带你了解 openpyxl 和 pandas的核心用法,并通过实战示例展示如何高效操作 Excel 文件,希望对大家有所帮助

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

本文将带你了解这两个库的核心用法,并通过实战示例展示如何高效操作 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_workbook

wb = load_workbook('成绩表.xlsx')
ws = wb.active

for 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, Alignment

ws['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 pd

df = 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 glob

files = 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("汇总完成!")

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

五、总结

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

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

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

到此这篇关于Python操作Excel的实用工具与库openpyxl/pandas的详细指南的文章就介绍到这了,更多相关Python操作Excel库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Python操作FTP实现上传和下载的方法

    使用Python操作FTP实现上传和下载的方法

    今天小编就为大家分享一篇关于使用Python操作FTP实现上传和下载的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • 解决pycharm修改代码后第一次运行不生效的问题

    解决pycharm修改代码后第一次运行不生效的问题

    这篇文章主要介绍了解决pycharm修改代码后第一次运行不生效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • python中 * 的用法详解

    python中 * 的用法详解

    这篇文章主要介绍了python中 * 的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python 虚拟环境的价值和常用命令详解

    Python 虚拟环境的价值和常用命令详解

    在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,如Scrapy、Beautiful Soup等,但是可能每个项目使用的框架库并不一样,或使用框架的版本不一样,今天给大家分享下Python 虚拟环境的价值和常用命令,感兴趣的朋友一起看看吧
    2022-05-05
  • Python的面向对象编程方式学习笔记

    Python的面向对象编程方式学习笔记

    Python深度具备面向对象编程语言所应有的特性,这里我们以类和方法为主,来整理一下Python的面向对象编程方式学习笔记:
    2016-07-07
  • DataFrame 数据合并实现(merge,join,concat)

    DataFrame 数据合并实现(merge,join,concat)

    这篇文章主要介绍了DataFrame 数据合并实现(merge,join,concat),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • python根据给定文件返回文件名和扩展名的方法

    python根据给定文件返回文件名和扩展名的方法

    这篇文章主要介绍了python根据给定文件返回文件名和扩展名的方法,实例分析了Python操作文件及字符串的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • python中的测试框架

    python中的测试框架

    这篇文章主要介绍了python中测试框架的相关资料,帮助大家更好的理解和使用python进行测试,感兴趣的朋友可以了解下
    2020-11-11
  • Python文本统计功能之西游记用字统计操作示例

    Python文本统计功能之西游记用字统计操作示例

    这篇文章主要介绍了Python文本统计功能之西游记用字统计操作,结合实例形式分析了Python文本读取、遍历、统计等相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • 在终端启动Python时报错的解决方案

    在终端启动Python时报错的解决方案

    这篇文章主要介绍了在终端启动Python时报错的解决方案,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-11-11

最新评论