跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python

Python 处理 Excel 文件详解

Python 提供了 pandas 和 openpyxl 等库用于处理 Excel 文件。介绍如何安装依赖、读取指定 Sheet 数据、写入新文件以及修改现有单元格内容。通过示例代码展示了 DataFrame 转换、样式设置及异常处理机制,帮助开发者高效完成数据自动化任务。

活在当下发布于 2025/2/6更新于 2026/10/2083 浏览
Python 处理 Excel 文件详解

Python 处理 Excel 文件详解

Excel 是一种常见的电子表格文件格式,广泛用于数据记录和处理。Python 提供了多个第三方库,可以方便地对 Excel 文件进行读写、数据操作和处理。本文将介绍如何使用 Python 对 Excel 文件进行处理,并提供相应的代码示例和详细说明。

一、安装第三方库

在开始之前,我们需要安装一些 Python 第三方库,用于对 Excel 文件进行处理。以下是常用的库:

  • pandas:用于数据分析和处理,支持读写 Excel 文件。
  • openpyxl:用于读写 .xlsx 格式的 Excel 文件。
  • xlrd:用于读取旧版 .xls 格式的 Excel 文件(注意:新版 pandas 默认不再支持 xlrd 读取 xlsx)。
  • xlwt:用于写入旧版 .xls 格式的 Excel 文件。

可以使用 pip 命令进行安装:

pip install pandas openpyxl xlrd xlwt

安装完成后,我们可以开始使用这些库来处理 Excel 文件。

二、读取 Excel 文件

首先,我们需要导入相应的库。使用以下代码导入 pandas 和 openpyxl:

import pandas as pd
import openpyxl

2.1 读取 Excel 文件到 DataFrame

使用 pandas 库可以将 Excel 文件读取到 DataFrame 对象中,方便进行数据分析和处理。以下是一个示例代码:

# 读取 Excel 文件
data = pd.read_excel("data.xlsx")

# 打印 DataFrame
print(data)

这段代码将 data.xlsx 文件读取到 data 变量中,并将其打印输出。你可以根据实际文件名和路径进行修改。

2.2 读取指定 Sheet 的 Excel 文件

如果 Excel 文件中包含多个 Sheet,你可以通过指定 Sheet 名称或索引来读取指定的 Sheet。以下是一个示例代码:

# 读取指定 Sheet 的 Excel 文件
data = pd.read_excel("data.xlsx", sheet_name="Sheet1")

# 打印 DataFrame
print(data)

这段代码将 data.xlsx 文件中名为 "Sheet1" 的 Sheet 读取到 data 变量中。你也可以使用索引,例如 sheet_name=0 表示第一个 Sheet。

2.3 读取特定行列范围

为了优化性能,你可以只读取需要的行和列:

# 读取前 5 行,第 0 列到第 2 列
data = pd.read_excel("data.xlsx", nrows=5, usecols="A:C")

三、写入 Excel 文件

除了读取 Excel 文件,我们还可以使用 Python 将数据写入 Excel 文件。以下是一个示例代码:

# 创建数据
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'London', 'Paris']
}

# 创建 DataFrame
df = pd.DataFrame(data)

# 写入 Excel 文件
df.to_excel("output.xlsx", index=False, sheet_name="Data")

这段代码首先创建了一个包含姓名、年龄和城市的数据字典。然后,通过 pd.DataFrame() 创建 DataFrame 对象 df。最后,使用 to_excel() 方法将 DataFrame 写入到 output.xlsx 文件中。index=False 表示不将索引写入文件,sheet_name 指定工作表名称。

四、修改 Excel 文件

除了读取和写入,我们还可以使用 Python 修改 Excel 文件中的数据、添加新的 Sheet 等。以下是一个示例代码:

# 打开 Excel 文件
wb = openpyxl.load_workbook("data.xlsx")

# 获取指定 Sheet
sheet = wb["Sheet1"]

# 修改单元格数据
sheet["A1"] = "Updated Value"

# 添加新的 Sheet
new_sheet = wb.create_sheet("Sheet2")

# 保存修改后的 Excel 文件
wb.save("data_modified.xlsx")

这段代码首先使用 openpyxl.load_workbook() 方法打开 data.xlsx 文件,返回一个 Workbook 对象 wb。然后,通过指定 Sheet 的名称或索引获取指定的 Sheet。接下来,我们可以修改 Sheet 中的单元格数据,例如将 "A1" 单元格的值修改为 "Updated Value"。然后,使用 create_sheet() 方法添加一个新的 Sheet。最后,使用 wb.save() 方法保存修改后的 Excel 文件。

4.1 设置单元格样式

使用 openpyxl 还可以设置字体、颜色和边框:

from openpyxl.styles import Font, PatternFill, Border, Side

# 定义样式
font = Font(bold=True, color="FF0000")
fill = PatternFill(start_color="FFFF00", fill_type="solid")
border = Border(left=Side(style='thin'), right=Side(style='thin'))

# 应用样式
sheet['A1'].font = font
sheet['A1'].fill = fill
sheet['A1'].border = border

五、高级技巧与异常处理

5.1 大数据量处理

当处理大型 Excel 文件时,一次性加载可能导致内存溢出。建议使用迭代器模式逐行处理:

for row in wb.active.iter_rows(values_only=True):
    # 处理每一行数据
    print(row)

5.2 异常捕获

在处理文件时,应添加错误处理机制以防止程序崩溃:

try:
    data = pd.read_excel("data.xlsx")
except FileNotFoundError:
    print("文件未找到,请检查路径")
except Exception as e:
    print(f"发生错误:{e}")

六、总结

通过 pandas 和 openpyxl 等第三方库,我们可以方便地读取、写入和修改 Excel 文件。本文介绍了 Python 对 Excel 文件处理的基本方法,并提供了相应的代码示例和详细说明。你可以根据实际需求,进一步探索这些库的其他功能和特性。Excel 文件的处理能力将为你的 Python 应用程序带来更多可能性,帮助你更好地处理和分析数据。

目录

  1. Python 处理 Excel 文件详解
  2. 一、安装第三方库
  3. 二、读取 Excel 文件
  4. 2.1 读取 Excel 文件到 DataFrame
  5. 读取 Excel 文件
  6. 打印 DataFrame
  7. 2.2 读取指定 Sheet 的 Excel 文件
  8. 读取指定 Sheet 的 Excel 文件
  9. 打印 DataFrame
  10. 2.3 读取特定行列范围
  11. 读取前 5 行,第 0 列到第 2 列
  12. 三、写入 Excel 文件
  13. 创建数据
  14. 创建 DataFrame
  15. 写入 Excel 文件
  16. 四、修改 Excel 文件
  17. 打开 Excel 文件
  18. 获取指定 Sheet
  19. 修改单元格数据
  20. 添加新的 Sheet
  21. 保存修改后的 Excel 文件
  22. 4.1 设置单元格样式
  23. 定义样式
  24. 应用样式
  25. 五、高级技巧与异常处理
  26. 5.1 大数据量处理
  27. 5.2 异常捕获
  28. 六、总结

更多推荐文章

查看全部
  • Docker 部署 OpenClaw 常见问题排查与自定义模型配置
  • HarmonyOS 6.0 PC 端高性能图像展示器开发:ArkUI 适配与跨设备流转
  • Stable Diffusion 图生图功能详解与参数优化指南
  • AI Agent 推理架构对比:ReAct 与 Plan-and-Execute
  • OpenClaw Secure DM Pairing 机制解析与安全私信访问配置
  • Python+AI 入门指南:环境搭建、实战案例与避坑建议
  • ChatGPT Prompt 技巧:优化简历以通过 AI 筛选
  • OpenHarmony 跨端生态适配指南:Flutter/RN/C/C++/仓颉鸿蒙化方案
  • ESP32 驱动 OV7670 摄像头实现简易照相机系统
  • Flutter 使用 tflite_web 在鸿蒙 Web 环境下实现 AI 推理适配
  • 1Panel+Ollama+WebUI:打造本地AI模型的完整指南(附Gemini插件教程)
  • EasyAI:Java 程序员的人工智能算法框架
  • 基于 SpringBoot 的个性化礼品电商平台设计与实现
  • Docker 部署 MySQL 8.0 实战:从镜像拉取到远程访问配置
  • Python 入门指南:环境搭建与 PyCharm 配置
  • Llama 3.1 如何革新 AI 合成数据生成技术
  • 低代码打造服装ERP系统实战:从数据表到自动化流程
  • Web 自动化测试入门:从概念到百度搜索实战
  • 飞书机器人同步日程的技术实现
  • 基于 LangChain 实现数据库问答机器人

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online