使用 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 文件。这种方法适用于日常的数据处理工作,既减少了手动操作的时间,又提高了效率。

相关推荐
用户8356290780513 小时前
Python 操作 PDF 附件:添加、查看与管理指南
后端·python
宇宙之一粟11 小时前
乐企版式文件生成平台
java·后端·python
学测绘的小杨1 天前
CompassFusion:一个从 GNSS 到 GNSS/INS 组合导航的独立工程包
python
zzzzzz3101 天前
当产品经理说这个很简单:我用Python自动化处理奇葩需求的实战指南
python·pycharm·产品经理
雪隐1 天前
个人电脑玩AI-06让5060 Ti给你打工——不光能画画,Qwen3-TTS还能学人说话,连我老板都信了!
人工智能·后端·python
兵慌码乱2 天前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构
hboot2 天前
AI工程师第三课 - 机器学习基础
python·scikit-learn·kaggle
顾林海2 天前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱2 天前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
曲幽2 天前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict