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

Python自動化辦公中的應用說明和腳本示例

 更新時間:2025年08月30日 14:58:20   作者:點云SLAM  
Python在自動化辦公中的應用非常廣泛,Python?自動化辦公包括:文檔處理(Word/Excel)、郵件處理、PDF?操作、文件整理、數(shù)據(jù)采集與報表、人工流程替代等,Python自動化常用庫包括openpyxl、pandas、docx、smtplib、imaplib、pyautogui、pdfplumber、PyPDF2、schedule

Python 在自動化辦公中的應用非常廣泛,可大幅減少重復性操作,提升辦公效率。Python 自動化辦公包括:文檔處理(Word/Excel)、郵件處理、PDF 操作、文件整理、數(shù)據(jù)采集與報表、人工流程替代等。Python自動化常用庫包括openpyxl、pandas、docx、smtplib、imaplib、pyautogui、pdfplumber、PyPDF2、schedule。

本文全面的講解Python自動化辦公,并附帶多個常用場景的 代碼示例

一、自動化辦公能做什么?

任務類型示例功能
文檔處理(Word/Excel)生成報告、批量修改、數(shù)據(jù)填充
郵件處理自動發(fā)郵件、收郵件、附件下載
PDF 操作拆分、合并、加密、提取文本
文件整理批量重命名、分類移動、自動歸檔
數(shù)據(jù)采集與報表從網(wǎng)頁抓取數(shù)據(jù),生成日報或周報
人工流程替代自動點擊、填表、模擬人工輸入(結合 pyautogui)

二、Python 自動化常用庫一覽

庫名用途
openpyxl操作 Excel(.xlsx
pandas表格數(shù)據(jù)處理
docx操作 Word 文檔
smtplib發(fā)送郵件
imaplib接收郵件
pyautogui模擬鼠標鍵盤操作
pdfplumber提取 PDF 文本內(nèi)容
PyPDF2拆分/合并 PDF
schedule定時任務

三、典型場景代碼示例

1. 批量生成 Excel 報表(openpyxl)

from openpyxl import Workbook

data = [
    ['姓名', '部門', '成績'],
    ['張三', '銷售部', 89],
    ['李四', '技術部', 95]
]

wb = Workbook()
ws = wb.active
ws.title = "員工成績表"

for row in data:
    ws.append(row)

wb.save("員工成績表.xlsx")
print(" Excel 報表已生成。")

2. 自動發(fā)送郵件(帶附件)

import smtplib
from email.message import EmailMessage

msg = EmailMessage()
msg['Subject'] = '日報 - 自動發(fā)送'
msg['From'] = 'your_email@example.com'
msg['To'] = 'receiver@example.com'
msg.set_content('請查收今日日報,見附件。')

# 添加附件
with open('日報.xlsx', 'rb') as f:
    msg.add_attachment(f.read(), maintype='application',
                       subtype='vnd.openxmlformats-officedocument.spreadsheetml.sheet',
                       filename='日報.xlsx')

# 發(fā)送郵件(使用QQ郵箱為例)
with smtplib.SMTP_SSL('smtp.qq.com', 465) as smtp:
    smtp.login('your_email@example.com', 'your_app_password')
    smtp.send_message(msg)

print(" 郵件已發(fā)送。")

3. 批量提取 PDF 文本(pdfplumber)

import pdfplumber

with pdfplumber.open('文件.pdf') as pdf:
    all_text = ''
    for page in pdf.pages:
        all_text += page.extract_text() + '\n'

with open('提取內(nèi)容.txt', 'w', encoding='utf-8') as f:
    f.write(all_text)

print(" PDF 文本已提取。")

4. 自動打開網(wǎng)頁、模擬輸入(pyautogui + webbrowser)

import webbrowser
import pyautogui
import time

# 打開網(wǎng)頁
webbrowser.open('https://www.google.com')
time.sleep(3)  # 等待頁面加載

# 模擬輸入搜索內(nèi)容
pyautogui.write('Python automation', interval=0.1)
pyautogui.press('enter')

print(" 自動搜索已完成。")

5. 定時任務(schedule)

import schedule
import time

def job():
    print("現(xiàn)在是:", time.strftime("%H:%M:%S"), " → 執(zhí)行任務")

# 每天早上 9 點執(zhí)行
schedule.every().day.at("09:00").do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

四、組合案例:自動發(fā)送日報

假設你有一個 Excel 日報,每天生成并通過郵件發(fā)送:

  1. openpyxl 創(chuàng)建日報
  2. smtplib 發(fā)送郵件
  3. schedule 定時運行
  4. 也可打包為 .exe 實現(xiàn)傻瓜式執(zhí)行(使用 pyinstaller

五、提升建議

  • 使用 logging 模塊記錄日志
  • 配合 TkinterPyQt 做可視化界面
  • 寫成函數(shù)模塊,支持定制化
  • 學會使用任務計劃(Windows)或 crontab(Linux/macOS)

批量處理 Excel 文件是辦公自動化中非常常見的需求,比如:

  • 讀取多個 Excel 文件中的數(shù)據(jù)并合并
  • 批量修改單元格內(nèi)容
  • 提取指定字段后導出為新表
  • 批量生成報表

六、擴展:批量處理Excel

適用場景

場景示例
批量讀取多個 Excel 文件合并多個日報、月報文件為一個總表
批量修改某列修改“狀態(tài)”列中的“未完成”為“完成”
按條件提取或匯總數(shù)據(jù)提取銷售額大于 1 萬的記錄
批量寫入、創(chuàng)建新表每人生成一個專屬工作表

常用庫安裝

pip install openpyxl pandas

批量處理 Excel 文件代碼示例

示例 1:批量合并多個 Excel 表格

功能:將某個文件夾下所有 .xlsx 文件合并為一個總表

import pandas as pd
import os

folder = './excel_files'  # Excel 文件所在文件夾
output_file = '合并結果.xlsx'

all_data = []

for file in os.listdir(folder):
    if file.endswith('.xlsx'):
        file_path = os.path.join(folder, file)
        df = pd.read_excel(file_path)
        df['來源文件'] = file  # 可選:添加來源文件列
        all_data.append(df)

# 合并所有數(shù)據(jù)
merged_df = pd.concat(all_data, ignore_index=True)
merged_df.to_excel(output_file, index=False)

print(" 所有 Excel 文件已合并到:", output_file)

示例 2:批量修改某一列中的值(如“狀態(tài)”列)

import pandas as pd
import os

folder = './excel_files'

for file in os.listdir(folder):
    if file.endswith('.xlsx'):
        path = os.path.join(folder, file)
        df = pd.read_excel(path)

        # 修改 “狀態(tài)” 列中的“未完成”為“完成”
        df['狀態(tài)'] = df['狀態(tài)'].replace('未完成', '完成')

        # 保存覆蓋原文件
        df.to_excel(path, index=False)
        print(f" 已修改:{file}")

示例 3:按字段篩選并保存為新表

import pandas as pd
import os

input_file = '員工信息表.xlsx'
df = pd.read_excel(input_file)

# 篩選工資大于10000的員工
filtered = df[df['工資'] > 10000]

filtered.to_excel('高薪員工.xlsx', index=False)
print(" 篩選結果已保存。")

示例 4:為每位員工生成單獨 Excel 表

import pandas as pd
import os

df = pd.read_excel('員工信息.xlsx')

output_dir = './員工報表'
os.makedirs(output_dir, exist_ok=True)

# 按“姓名”分組,每個員工一個文件
for name, group in df.groupby('姓名'):
    filename = os.path.join(output_dir, f'{name}_報表.xlsx')
    group.to_excel(filename, index=False)
    print(f" 已生成:{filename}")

進階建議

  • Tkinter 加上文件夾選擇、按鈕,做成 GUI 工具
  • 加日志記錄:每次處理記錄時間、文件名
  • 使用定時器 + 自動郵件發(fā)送,形成完整自動報表流程
  • 使用 openpyxl 更細粒度控制樣式、顏色、單元格合并等

自動清洗多個 Excel 表中的重復數(shù)據(jù)示例:

下面是自動遍歷一個文件夾下的多個 Excel 文件,按指定的列去重,并把清洗后的結果另存到一個新文件夾Python腳本。

腳本示例(Python 3 + pandas)

import os
import pandas as pd

# === 配置區(qū)域 ===
input_folder = r"./excel_input"       # 待處理Excel文件所在文件夾
output_folder = r"./excel_output"     # 清洗后文件保存文件夾
subset_columns = None                 # 去重依據(jù)的列,例如 ["姓名", "身份證號"],None表示全列去重
keep_rule = "first"                   # 保留規(guī)則: "first" 保留首次出現(xiàn), "last" 保留最后一次, False 保留所有重復(不常用)

# 創(chuàng)建輸出文件夾
os.makedirs(output_folder, exist_ok=True)

# 遍歷文件夾中的所有Excel文件
for filename in os.listdir(input_folder):
    if filename.lower().endswith((".xls", ".xlsx")):
        file_path = os.path.join(input_folder, filename)
        
        try:
            # 讀取Excel(保留所有sheet)
            xls = pd.ExcelFile(file_path)
            cleaned_sheets = {}
            
            for sheet_name in xls.sheet_names:
                df = pd.read_excel(xls, sheet_name=sheet_name)
                
                # 去重
                before_rows = len(df)
                df_cleaned = df.drop_duplicates(subset=subset_columns, keep=keep_rule)
                after_rows = len(df_cleaned)
                
                print(f"{filename} - {sheet_name}: {before_rows} -> {after_rows} 行")
                
                cleaned_sheets[sheet_name] = df_cleaned
            
            # 保存清洗后的文件
            output_path = os.path.join(output_folder, filename)
            with pd.ExcelWriter(output_path, engine="openpyxl") as writer:
                for sheet_name, df_cleaned in cleaned_sheets.items():
                    df_cleaned.to_excel(writer, sheet_name=sheet_name, index=False)
        
        except Exception as e:
            print(f"處理文件 {filename} 時出錯: {e}")

print(" 數(shù)據(jù)清洗完成!")

七、總結

到此這篇關于Python自動化辦公中的應用說明和腳本示例的文章就介紹到這了,更多相關python自動化辦公腳本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python將ansible配置轉為json格式實例代碼

    python將ansible配置轉為json格式實例代碼

    這篇文章主要介紹了python將ansible配置轉為json格式實例代碼的相關資料,需要的朋友可以參考下
    2017-05-05
  • python詳解如何通過sshtunnel pymssql實現(xiàn)遠程連接數(shù)據(jù)庫

    python詳解如何通過sshtunnel pymssql實現(xiàn)遠程連接數(shù)據(jù)庫

    為了安全起見,很多公司服務器數(shù)據(jù)庫的訪問多半是要做限制的,由專門的DBA管理,而且都是做的集群,數(shù)據(jù)庫只能內(nèi)網(wǎng)訪問,所以就有一個直接的問題是,往往多數(shù)時候,在別的機器上(比如自己本地),是不能訪問數(shù)據(jù)庫的,給日常開發(fā)調試造成了很大不便
    2021-10-10
  • Python調用接口合并Excel表代碼實例

    Python調用接口合并Excel表代碼實例

    這篇文章主要介紹了Python調用接口合并Excel表代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • Python處理缺失數(shù)據(jù)的多種方式

    Python處理缺失數(shù)據(jù)的多種方式

    在數(shù)據(jù)分析和數(shù)據(jù)處理的過程中,缺失數(shù)據(jù)(Missing Data)是一個常見的問題,缺失數(shù)據(jù)的存在可能會影響模型的準確性和預測的可靠性,因此正確處理缺失數(shù)據(jù)是數(shù)據(jù)分析的重要步驟,所以本文給大家介紹了Python處理缺失數(shù)據(jù)的多種方式,需要的朋友可以參考下
    2024-08-08
  • Python引用計數(shù)操作示例

    Python引用計數(shù)操作示例

    這篇文章主要介紹了Python引用計數(shù)操作,結合實例形式分析了Python引用計數(shù)相關操作與運行機制,需要的朋友可以參考下
    2018-08-08
  • Python和Excel的完美結合的常用操作案例匯總

    Python和Excel的完美結合的常用操作案例匯總

    這篇文章主要介紹了Python和Excel的完美結合的常用操作案例匯總,文章通過圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • 詳解Python匿名函數(shù)(lambda函數(shù))

    詳解Python匿名函數(shù)(lambda函數(shù))

    這篇文章主要介紹了Python匿名函數(shù)(lambda函數(shù)),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 為Python的Tornado框架配置使用Jinja2模板引擎的方法

    為Python的Tornado框架配置使用Jinja2模板引擎的方法

    Jinja2是人氣Web框架Flask中的內(nèi)置模板引擎,而且與Django的模板引擎比較類似,這里我們就來看一下為Python的Tornado框架配置使用Jinja2模板引擎的方法
    2016-06-06
  • Python使用scrapy爬取陽光熱線問政平臺過程解析

    Python使用scrapy爬取陽光熱線問政平臺過程解析

    這篇文章主要介紹了Python使用scrapy爬取陽光熱線問政平臺過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • ID3決策樹以及Python實現(xiàn)詳細過程

    ID3決策樹以及Python實現(xiàn)詳細過程

    決策樹是我本人非常喜歡的機器學習模型,非常直觀容易理解,并且和數(shù)據(jù)結構的結合很緊密,下面這篇文章主要給大家介紹了關于ID3決策樹以及Python實現(xiàn)的相關資料,需要的朋友可以參考下
    2024-01-01

最新評論

上虞市| 静乐县| 阿图什市| 嘉善县| 龙游县| 安阳市| 磐安县| 白山市| 文安县| 房山区| 嵩明县| 高安市| 右玉县| 高台县| 合川市| 凤凰县| 荆州市| 永安市| 勃利县| 绥棱县| 保定市| 蓬安县| 凤凰县| 文水县| 宜阳县| 乾安县| 内乡县| 兰州市| 牙克石市| 长白| 锦屏县| 体育| 屏山县| 凤阳县| 奉节县| 庄河市| 萍乡市| 饶平县| 岑巩县| 墨玉县| 瑞昌市|