Python编写一个Excel批量处理的桌面实用脚本

Written by

in

文章目录
  • 构建一个 Python 桌面脚本,实现以下功能: 读取某个文件夹下所有 Excel 文件(xls/xlsx) 对每个文件进行处理(你可以按业务需求定制) 将处理后的结果输出到一个新文件夹 有良好的结构:可扩展、可维护、可复用
  • 我们会用到这些工具: import os import pandas as pd from openpyxl import load_workbook pandas 是核心,openpyxl 用来辅助处理高阶操作。
  • 建议你用一个简单的目录结构: excel_batch_tool/│── main.py                # 主脚本│── processors.py          # 放各种处理方法│── input/                 # 输入文件夹│── output/                # 输出结果 真实项目里模块拆分非常重要,这样未来扩展功能就超级轻松。
  • main.py import os import pandas as pd from processors import process_excel INPUT_DIR = “input” OUTPUT_DIR = “output” def ensure_output_folder(): if not os.path.exists(OUTPUT_DIR): os.makedirs(OUTPUT_DIR) def main(): ensure_output_folder() for filename in os.listdir(INPUT_DIR): if filename.endswith((“.xlsx”, “.xls”)): path = os.path.join(INPUT_DIR, filename) print(f”正在处理: {filename}”) df = pd.read_excel(path) # 调用自定义处理逻辑 df = process_excel(df) # 输出结果 output_path = os.path.join(OUTPUT_DIR, filename) df.to_excel(output_path, index=False) print(f”已保存到: {output_path}”) if __name__ == “__main__”: main() 这个模板你可以反复复用,只改 processors.py 就能扩展新功能。
  • 示例:删除空行、转换列名、增加新字段 def process_excel(df): # 1 删除全空行 df = df.dropna(how=”all”) # 2 统一列名格式 df.columns = [str(c).strip() for c in df.columns] # 3 添加一个时间戳列 import datetime df[“处理时间”] = datetime.datetime.now().strftime(“%Y-%m-%d %H:%M:%S”) return df 你未来可以替换为—— 批量替换值 批量加公式 批量合并多表 批量拆分多文件 按条件筛选后导出 统计分析并生成结果 完全随你怎么扩展。
  • 例如你要把所有 Excel 中的“产品名称”列里的 “旧名” 换成 “新名”: def process_excel(df): if “产品名称” in df.columns: df[“产品名称”] = df[“产品名称”].replace(“旧名”, “新名”) return df
  • 你甚至可以把所有文件内容合并成一个: def process_excel(df): return df # 不做处理,原样返回 然后 main.py 改成: all_data = [] for filename in os.listdir(INPUT_DIR): if filename.endswith((“.xls”, “.xlsx”)): df = pd.read_excel(os.path.join(INPUT_DIR, filename)) df[“来源文件”] = filename all_data.append(df) final_df = pd.concat(all_data, ignore_index=True) final_df.to_excel(“output/合并结果.xlsx”, index=False) 这就是一个可商用级别的“多文件合并工具”。
  • 根据某个字段拆成多个 Excel 文件: def process_excel(df): for name, group in df.groupby(“分类”): group.to_excel(f”output/{name}.xlsx”, index=False) return None main.py 中只需要根据是否返回 df 来决定是否写入。
  • 通过这个项目,你可以掌握—— pandas + openpyxl 的灵活使用 批处理脚本如何组织结构 函数与模块化的实战应用 真实办公自动化的落地方法 如何把 Python 工具发展成可售卖的小产品(你本来就在做!) 这套脚本只要你不断扩展,就能变成: 合并工具 拆分工具 替换工具 字段提取工具 水印工具 批量格式转换工具 完全能实现商业价值。 到此这篇关于Python编写一个Excel批量处理的桌面实用脚本的文章就介绍到这了,更多相关Python Excel批量处理内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: 使用Python自动化处理Excel的脏数据 Python中处理Excel的5个神仙库的使用指南 使用Python自动化处理Excel表格的操作方法 使用Python处理Excel文件的全面指南(从读取到数据清洗) Python处理大量Excel文件的十个技巧分享 Python中高效处理Excel文件的10个常用库操作指南
  • 目录
    • 一 项目目标
    • 二 用到的主要库
    • 三 项目结构设计
    • 四 核心功能:批量遍历 Excel 文件
    • 五 定制处理逻辑:processors.py
    • 六 实战示例:批量替换某一列内容
    • 七 实战示例:批量合并所有 Excel
    • 八 实战示例:批量拆分
    • 九 小结

    在办公自动化的需求越来越多的今天,用 Python 做一个属于自己的“批处理小工具”,能轻松帮你节省大量重复劳动。例如:

    • 批量合并 Excel
    • 批量替换内容
    • 批量拆分数据
    • 批量加水印
    • 批量生成报告
    • 批量转换格式(CSV ↔ Excel)

    这一节我们做一个通用型批量处理脚本,让你初步掌握真实项目如何落地。

    构建一个 Python 桌面脚本,实现以下功能:

    • 读取某个文件夹下所有 Excel 文件(xls/xlsx)
    • 对每个文件进行处理(你可以按业务需求定制)
    • 将处理后的结果输出到一个新文件夹
    • 有良好的结构:可扩展、可维护、可复用

    我们会用到这些工具:

    import os
    import pandas as pd
    from openpyxl import load_workbook
    

    pandas 是核心,openpyxl 用来辅助处理高阶操作。

    建议你用一个简单的目录结构:

    excel_batch_tool/
    │── main.py                # 主脚本
    │── processors.py          # 放各种处理方法
    │── input/                 # 输入文件夹
    │── output/                # 输出结果

    真实项目里模块拆分非常重要,这样未来扩展功能就超级轻松。

    main.py

    import os
    import pandas as pd
    from processors import process_excel
    
    INPUT_DIR = "input"
    OUTPUT_DIR = "output"
    
    def ensure_output_folder():
        if not os.path.exists(OUTPUT_DIR):
            os.makedirs(OUTPUT_DIR)
    
    def main():
        ensure_output_folder()
    
        for filename in os.listdir(INPUT_DIR):
            if filename.endswith((".xlsx", ".xls")):
                path = os.path.join(INPUT_DIR, filename)
                print(f"正在处理: {filename}")
    
                df = pd.read_excel(path)
    
                # 调用自定义处理逻辑
                df = process_excel(df)
    
                # 输出结果
                output_path = os.path.join(OUTPUT_DIR, filename)
                df.to_excel(output_path, index=False)
                print(f"已保存到: {output_path}")
    
    if __name__ == "__main__":
        main()
    

    这个模板你可以反复复用,只改 processors.py 就能扩展新功能。

    示例:删除空行、转换列名、增加新字段

    def process_excel(df):
        # 1 删除全空行
        df = df.dropna(how="all")
    
        # 2 统一列名格式
        df.columns = [str(c).strip() for c in df.columns]
    
        # 3 添加一个时间戳列
        import datetime
        df["处理时间"] = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    
        return df
    

    你未来可以替换为——

    • 批量替换值
    • 批量加公式
    • 批量合并多表
    • 批量拆分多文件
    • 按条件筛选后导出
    • 统计分析并生成结果

    完全随你怎么扩展。

    例如你要把所有 Excel 中的“产品名称”列里的 “旧名” 换成 “新名”:

    def process_excel(df):
        if "产品名称" in df.columns:
            df["产品名称"] = df["产品名称"].replace("旧名", "新名")
        return df
    

    你甚至可以把所有文件内容合并成一个:

    def process_excel(df):
        return df  # 不做处理,原样返回
    

    然后 main.py 改成:

    all_data = []
    
    for filename in os.listdir(INPUT_DIR):
        if filename.endswith((".xls", ".xlsx")):
            df = pd.read_excel(os.path.join(INPUT_DIR, filename))
            df["来源文件"] = filename
            all_data.append(df)
    
    final_df = pd.concat(all_data, ignore_index=True)
    final_df.to_excel("output/合并结果.xlsx", index=False)
    

    这就是一个可商用级别的“多文件合并工具”。

    根据某个字段拆成多个 Excel 文件:

    def process_excel(df):
        for name, group in df.groupby("分类"):
            group.to_excel(f"output/{name}.xlsx", index=False)
        return None
    

    main.py 中只需要根据是否返回 df 来决定是否写入。

    通过这个项目,你可以掌握——

    • pandas + openpyxl 的灵活使用
    • 批处理脚本如何组织结构
    • 函数与模块化的实战应用
    • 真实办公自动化的落地方法
    • 如何把 Python 工具发展成可售卖的小产品(你本来就在做!)

    这套脚本只要你不断扩展,就能变成:

    • 合并工具
    • 拆分工具
    • 替换工具
    • 字段提取工具
    • 水印工具
    • 批量格式转换工具

    完全能实现商业价值。

    到此这篇关于Python编写一个Excel批量处理的桌面实用脚本的文章就介绍到这了,更多相关Python Excel批量处理内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • 使用Python自动化处理Excel的脏数据
    • Python中处理Excel的5个神仙库的使用指南
    • 使用Python自动化处理Excel表格的操作方法
    • 使用Python处理Excel文件的全面指南(从读取到数据清洗)
    • Python处理大量Excel文件的十个技巧分享
    • Python中高效处理Excel文件的10个常用库操作指南

    站内搜索