最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python編寫一個Excel批量處理的桌面實用腳本

 更新時間:2025年11月17日 08:20:27   作者:程序員愛釣魚  
在辦公自動化的需求越來越多的今天,用 Python 做一個屬于自己的“批處理小工具”,能輕松幫你節(jié)省大量重復(fù)勞動,下面我們就來看看如何使用Python編寫一個Excel批量處理的桌面實用腳本吧

在辦公自動化的需求越來越多的今天,用 Python 做一個屬于自己的“批處理小工具”,能輕松幫你節(jié)省大量重復(fù)勞動。例如:

  • 批量合并 Excel
  • 批量替換內(nèi)容
  • 批量拆分數(shù)據(jù)
  • 批量加水印
  • 批量生成報告
  • 批量轉(zhuǎn)換格式(CSV ↔ Excel)

這一節(jié)我們做一個通用型批量處理腳本,讓你初步掌握真實項目如何落地。

一 項目目標

構(gòu)建一個 Python 桌面腳本,實現(xiàn)以下功能:

  • 讀取某個文件夾下所有 Excel 文件(xls/xlsx)
  • 對每個文件進行處理(你可以按業(yè)務(wù)需求定制)
  • 將處理后的結(jié)果輸出到一個新文件夾
  • 有良好的結(jié)構(gòu):可擴展、可維護、可復(fù)用

二 用到的主要庫

我們會用到這些工具:

import os
import pandas as pd
from openpyxl import load_workbook

pandas 是核心,openpyxl 用來輔助處理高階操作。

三 項目結(jié)構(gòu)設(shè)計

建議你用一個簡單的目錄結(jié)構(gòu):

excel_batch_tool/
│── main.py                # 主腳本
│── processors.py          # 放各種處理方法
│── input/                 # 輸入文件夾
│── output/                # 輸出結(jié)果

真實項目里模塊拆分非常重要,這樣未來擴展功能就超級輕松。

四 核心功能:批量遍歷 Excel 文件

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)

            # 調(diào)用自定義處理邏輯
            df = process_excel(df)

            # 輸出結(jié)果
            output_path = os.path.join(OUTPUT_DIR, filename)
            df.to_excel(output_path, index=False)
            print(f"已保存到: {output_path}")

if __name__ == "__main__":
    main()

這個模板你可以反復(fù)復(fù)用,只改 processors.py 就能擴展新功能。

五 定制處理邏輯:processors.py

示例:刪除空行、轉(zhuǎn)換列名、增加新字段

def process_excel(df):
    # 1 刪除全空行
    df = df.dropna(how="all")

    # 2 統(tǒng)一列名格式
    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

你未來可以替換為——

  • 批量替換值
  • 批量加公式
  • 批量合并多表
  • 批量拆分多文件
  • 按條件篩選后導(dǎo)出
  • 統(tǒng)計分析并生成結(jié)果

完全隨你怎么擴展。

六 實戰(zhàn)示例:批量替換某一列內(nèi)容

例如你要把所有 Excel 中的“產(chǎn)品名稱”列里的 “舊名” 換成 “新名”:

def process_excel(df):
    if "產(chǎn)品名稱" in df.columns:
        df["產(chǎn)品名稱"] = df["產(chǎn)品名稱"].replace("舊名", "新名")
    return df

七 實戰(zhàn)示例:批量合并所有 Excel

你甚至可以把所有文件內(nèi)容合并成一個:

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/合并結(jié)果.xlsx", index=False)

這就是一個可商用級別的“多文件合并工具”。

八 實戰(zhàn)示例:批量拆分

根據(jù)某個字段拆成多個 Excel 文件:

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

main.py 中只需要根據(jù)是否返回 df 來決定是否寫入。

九 小結(jié)

通過這個項目,你可以掌握——

  • pandas + openpyxl 的靈活使用
  • 批處理腳本如何組織結(jié)構(gòu)
  • 函數(shù)與模塊化的實戰(zhàn)應(yīng)用
  • 真實辦公自動化的落地方法
  • 如何把 Python 工具發(fā)展成可售賣的小產(chǎn)品(你本來就在做?。?/li>

這套腳本只要你不斷擴展,就能變成:

  • 合并工具
  • 拆分工具
  • 替換工具
  • 字段提取工具
  • 水印工具
  • 批量格式轉(zhuǎn)換工具

完全能實現(xiàn)商業(yè)價值。

到此這篇關(guān)于Python編寫一個Excel批量處理的桌面實用腳本的文章就介紹到這了,更多相關(guān)Python Excel批量處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

德阳市| 遵化市| 吉木乃县| 轮台县| 札达县| 河北区| 连云港市| 阆中市| 康乐县| 介休市| 仁化县| 灌南县| 开鲁县| 连山| 景泰县| 铜梁县| 东方市| 保康县| 岳阳市| 河源市| 井冈山市| 黄浦区| 西丰县| 任丘市| 高邑县| 惠水县| 乌鲁木齐市| 广饶县| 开封县| 桦甸市| 尼玛县| 乐山市| 买车| 讷河市| 曲靖市| 东山县| 萨嘎县| 通州市| 门源| 公安县| 大兴区|