使用 Python 操作 Excel 表格

Excel 是我们最常用的工具之一。无论是数据分析还是业务报表,操作 Excel 文件几乎是不可避免的。而 Python 提供了强大的库(如 pandas 和 openpyxl)来高效地处理 Excel 文件。

环境准备

在开始之前,请确保已经安装了所需的 Python 包:

python 复制代码
pip install pandas openpyxl

pandas 是一个功能强大的数据分析工具,openpyxl 则是支持 Excel 文件的底层库。

代码实现

Excel 操作工具模块:excel_utils.py

首先创建一个工具模块,封装常见的 Excel 操作,如读取和写入。以下是代码实现:

python 复制代码
import pandas as pd

def read_excel(file_path, sheet_name=None):
    """
    读取Excel文件
    :param file_path: Excel文件路径
    :param sheet_name: 指定Sheet名称(默认为None,读取第一个Sheet)
    :return: 读取到的DataFrame
    """
    try:
        df = pd.read_excel(file_path, sheet_name=sheet_name)
        print(f"成功读取文件:{file_path}")
        return df
    except Exception as e:
        print(f"读取文件失败:{e}")
        return None

def write_excel(df, output_path, sheet_name="Sheet1"):
    """
    将DataFrame写入Excel文件
    :param df: 要写入的DataFrame
    :param output_path: 输出Excel文件路径
    :param sheet_name: 指定Sheet名称
    """
    try:
        df.to_excel(output_path, index=False, sheet_name=sheet_name)
        print(f"成功写入文件:{output_path}")
    except Exception as e:
        print(f"写入文件失败:{e}")

实战案例

为了演示上述工具模块的用法,我们编写了一个简单的主程序 main.py

python 复制代码
from excel_utils import read_excel, write_excel

# 读取Excel文件
df = read_excel("output.xlsx", sheet_name="Sheet1")

# 修改数据后写入新的文件
if df is not None:
    # 示例:将 "Age" 列的值增加1
    df["Age"] += 1
    write_excel(df, "modified_example.xlsx")

代码解读

读取 Excel 文件

read_excel 函数通过 pandas.read_excel 方法读取指定路径的 Excel 文件,返回一个 DataFrame。如果读取失败,会捕获异常并打印错误信息。

写入 Excel 文件

write_excel 函数接收一个 DataFrame,将其写入指定路径的 Excel 文件中,同时可以设置 Sheet 名称。

实战逻辑

在主程序中,读取了一个名为 output.xlsx 的文件,修改其中的 "Age" 列,然后将更新后的数据保存为新的文件 modified_example.xlsx。

总结

本文通过封装常用的 Excel 操作工具,并结合简单的案例,展示了如何高效地使用 Python 操作 Excel 文件。这种方法适用于日常的数据处理工作,既减少了手动操作的时间,又提高了效率。

相关推荐
苏婳66628 分钟前
【最新版】怎么下载mysqlclient并成功安装?
数据库·python·mysql
柯南二号43 分钟前
【Java后端】MyBatis-Plus 原理解析
java·开发语言·mybatis
0wioiw01 小时前
Python基础(Flask①)
后端·python·flask
我是哈哈hh1 小时前
【Node.js】ECMAScript标准 以及 npm安装
开发语言·前端·javascript·node.js
飞翔的佩奇1 小时前
【完整源码+数据集+部署教程】食品分类与实例分割系统源码和数据集:改进yolo11-AggregatedAttention
python·yolo·计算机视觉·数据集·yolo11·食品分类与实例分割
OperateCode2 小时前
AutoVideoMerge:让二刷更沉浸的自动化视频处理脚本工具
python·opencv·ffmpeg
蔡俊锋2 小时前
Javar如何用RabbitMQ订单超时处理
java·python·rabbitmq·ruby
跟橙姐学代码2 小时前
学Python别死记硬背,这份“编程生活化笔记”让你少走三年弯路
前端·python
Sammyyyyy3 小时前
2025年,Javascript后端应该用 Bun、Node.js 还是 Deno?
开发语言·javascript·node.js
站大爷IP3 小时前
Python与MySQL:从基础操作到实战技巧的完整指南
python