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

相关推荐
databook5 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar6 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户8356290780516 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_6 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机13 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机14 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机14 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机14 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i14 小时前
drf初步梳理
python·django
每日AI新事件14 小时前
python的异步函数
python