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

作者:

文章目录
  • openpyxl 是一个专门用于读写 .xlsx 文件的纯 Python 库。它支持单元格读写、样式设置、图表创建等高级功能,适合对 Excel 文件结构进行精细控制的场景。
  • 如果你更关注数据分析和批量处理,而不是 Excel 的格式细节,那么 pandas 是更高效的选择。 pandas 可以轻松地读写 Excel 文件并与 DataFrame 无缝结合。
  • 特性 openpyxl pandas 文件类型 .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自动化操作Excel的多种方式(Pandas+openpyxl+xlrd) Python使用openpyxl读取Excel的操作详解 python使用Openpyxl操作Excel文件的实现 Python利用xlwt/openpyxl/xlutils实现写入Excel数据 Python Pandas高效处理Excel数据完整指南
  • 目录
    • 一、openpyxl:原生 Excel 文件操作库
      • 1. 安装 openpyxl
      • 2. 创建 Excel 文件
      • 3. 读取 Excel 文件
      • 4. 修改单元格内容
      • 5. 设置单元格样式(可选)
    • 二、pandas:高效的数据分析利器
      • 1. 安装 pandas
      • 2. 从 Excel 读取数据
      • 3. 修改数据并写回 Excel
      • 4. 多表格(多 Sheet)操作
      • 5. 从多个 Excel 文件合并数据
    • 三、openpyxl 与 pandas 的比较
      • 四、实战案例:销售数据汇总
        • 五、总结

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

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

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

          pip install openpyxl
          

          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 文件。

          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)

          ws['B2'] = 98  # 修改 Alice 的成绩
          wb.save('成绩表_修改.xlsx')
          

          from openpyxl.styles import Font, Alignment
          
          ws['A1'].font = Font(bold=True, color="FF0000")
          ws['A1'].alignment = Alignment(horizontal='center')
          wb.save('成绩表_格式.xlsx')
          

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

          pip install pandas openpyxl
          

          import pandas as pd
          
          df = pd.read_excel('成绩表.xlsx')
          print(df)
          

          输出:

               姓名  成绩
          0  Alice  95
          1    Bob  88

          df.loc[df['姓名'] == 'Bob', '成绩'] = 90
          df.to_excel('成绩表_更新.xlsx', index=False)
          

          with pd.ExcelWriter('多表格.xlsx') as writer:
              df.to_excel(writer, sheet_name='一班', index=False)
              df.to_excel(writer, sheet_name='二班', index=False)
          

          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
          文件类型 .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自动化操作Excel的多种方式(Pandas+openpyxl+xlrd)
          • Python使用openpyxl读取Excel的操作详解
          • python使用Openpyxl操作Excel文件的实现
          • Python利用xlwt/openpyxl/xlutils实现写入Excel数据
          • Python Pandas高效处理Excel数据完整指南

          站内搜索