使用Python编写一个自动化办公小助手

 更新时间:2025年10月22日 09:24:43   作者:锦***林  
在日常办公中,我们常常会遇到一些重复性的任务,如批量处理文件,发送邮件等,本文我们将使用Python 编写一个自动化办公小助手,帮助你高效完成这些任务

在日常办公中,我们常常会遇到一些重复性的任务,如批量处理文件、发送邮件、生成报表等。这些任务不仅耗时,还容易出错。今天,就让我们一起用 Python 编写一个自动化办公小助手,帮助你高效完成这些任务。

一、自动化办公小助手的功能

(一)批量重命名文件

import os

def batch_rename_files(directory, prefix):
    """批量重命名指定目录下的所有文件,添加前缀"""
    for filename in os.listdir(directory):
        new_name = f"{prefix}_{filename}"
        os.rename(os.path.join(directory, filename), os.path.join(directory, new_name))
    print("文件重命名完成")

# 示例:批量重命名文件
batch_rename_files('path/to/your/directory', 'new_prefix')

(二)发送邮件

import smtplib
from email.mime.text import MIMEText

def send_email(to_email, subject, body):
    """发送邮件"""
    sender = "your_email@example.com"
    password = "your_password"

    msg = MIMEText(body)
    msg['Subject'] = subject
    msg['From'] = sender
    msg['To'] = to_email

    with smtplib.SMTP('smtp.example.com', 587) as server:
        server.starttls()
        server.login(sender, password)
        server.sendmail(sender, to_email, msg.as_string())
    print("邮件发送成功")

# 示例:发送邮件
send_email('recipient@example.com', 'Subject', 'Email body')

(三)生成 Excel 报表

import pandas as pd

def generate_excel_report(data, output_file):
    """生成 Excel 报表"""
    df = pd.DataFrame(data)
    df.to_excel(output_file, index=False)
    print("报表生成完成")

# 示例:生成 Excel 报表
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
generate_excel_report(data, 'report.xlsx')

(四)批量处理 Excel 文件

import pandas as pd
import os

def batch_process_excel_files(directory, output_file):
    """批量处理 Excel 文件,合并到一个文件中"""
    all_data = []
    for filename in os.listdir(directory):
        if filename.endswith('.xlsx'):
            file_path = os.path.join(directory, filename)
            df = pd.read_excel(file_path)
            all_data.append(df)
    combined_df = pd.concat(all_data, ignore_index=True)
    combined_df.to_excel(output_file, index=False)
    print("文件处理完成")

# 示例:批量处理 Excel 文件
batch_process_excel_files('path/to/your/directory', 'combined_output.xlsx')

(五)定时任务

from apscheduler.schedulers.blocking import BlockingScheduler
import datetime

def my_job():
    print("任务执行时间:", datetime.datetime.now())

# 示例:设置定时任务
scheduler = BlockingScheduler()
scheduler.add_job(my_job, 'interval', seconds=10)
scheduler.start()

二、整合自动化办公小助手

将上述功能整合到一个脚本中,创建一个自动化办公小助手。

import os
import smtplib
from email.mime.text import MIMEText
import pandas as pd
from apscheduler.schedulers.blocking import BlockingScheduler
import datetime

# 批量重命名文件
def batch_rename_files(directory, prefix):
    for filename in os.listdir(directory):
        new_name = f"{prefix}_{filename}"
        os.rename(os.path.join(directory, filename), os.path.join(directory, new_name))
    print("文件重命名完成")

# 发送邮件
def send_email(to_email, subject, body):
    sender = "your_email@example.com"
    password = "your_password"

    msg = MIMEText(body)
    msg['Subject'] = subject
    msg['From'] = sender
    msg['To'] = to_email

    with smtplib.SMTP('smtp.example.com', 587) as server:
        server.starttls()
        server.login(sender, password)
        server.sendmail(sender, to_email, msg.as_string())
    print("邮件发送成功")

# 生成 Excel 报表
def generate_excel_report(data, output_file):
    df = pd.DataFrame(data)
    df.to_excel(output_file, index=False)
    print("报表生成完成")

# 批量处理 Excel 文件
def batch_process_excel_files(directory, output_file):
    all_data = []
    for filename in os.listdir(directory):
        if filename.endswith('.xlsx'):
            file_path = os.path.join(directory, filename)
            df = pd.read_excel(file_path)
            all_data.append(df)
    combined_df = pd.concat(all_data, ignore_index=True)
    combined_df.to_excel(output_file, index=False)
    print("文件处理完成")

# 定时任务
def my_job():
    print("任务执行时间:", datetime.datetime.now())

# 主函数
def main():
    # 批量重命名文件
    batch_rename_files('path/to/your/directory', 'new_prefix')

    # 发送邮件
    send_email('recipient@example.com', 'Subject', 'Email body')

    # 生成 Excel 报表
    data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
    generate_excel_report(data, 'report.xlsx')

    # 批量处理 Excel 文件
    batch_process_excel_files('path/to/your/directory', 'combined_output.xlsx')

    # 设置定时任务
    scheduler = BlockingScheduler()
    scheduler.add_job(my_job, 'interval', seconds=10)
    scheduler.start()

if __name__ == "__main__":
    main()

三、总结

通过本文的介绍,你已经学会了如何使用 Python 编写一个自动化办公小助手,包括批量重命名文件、发送邮件、生成 Excel 报表、批量处理 Excel 文件和设置定时任务。

到此这篇关于使用Python编写一个自动化办公小助手的文章就介绍到这了,更多相关Python自动化办公内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Jetson NX 配置 pytorch的问题及解决方法

    Jetson NX 配置 pytorch的问题及解决方法

    这篇文章主要介绍了Jetson NX 配置 pytorch的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • pandas中提取DataFrame某些列的一些方法

    pandas中提取DataFrame某些列的一些方法

    dataframe是pandas包的重要对象,熟练掌握dataframe的基本操作是很有必要的,下面这篇文章主要给大家介绍了关于pandas中提取DataFrame某些列的一些方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • Python通过yagmail实现发送邮件代码解析

    Python通过yagmail实现发送邮件代码解析

    这篇文章主要介绍了Python通过yagmail实现发送邮件代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Python Django搭建文件下载服务器的实现

    Python Django搭建文件下载服务器的实现

    这篇文章主要介绍了Python Django搭建文件下载服务器的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • 使用OpenCV获取图片连通域数量,并用不同颜色标记函

    使用OpenCV获取图片连通域数量,并用不同颜色标记函

    这篇文章主要介绍了使用OpenCV获取图片连通域数量,并用不同颜色标记函,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 快速进修Python指南之网络编程及并发编程

    快速进修Python指南之网络编程及并发编程

    这篇文章主要为大家介绍了Java开发者如何快速进修Python指南之网络编程及并发编程实例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Python3遍历目录树实现方法

    Python3遍历目录树实现方法

    这篇文章主要介绍了Python3遍历目录树实现方法,涉及Python目录树的遍历操作技巧,需要的朋友可以参考下
    2015-05-05
  • Python实现在Windows平台修改文件属性

    Python实现在Windows平台修改文件属性

    这篇文章主要介绍了Python实现在Windows平台修改文件属性,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • python实现烟花小程序

    python实现烟花小程序

    这篇文章主要为大家详细介绍了python实现烟花小程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • Python使用FastAPI+FastCRUD自动生成API接口的实现

    Python使用FastAPI+FastCRUD自动生成API接口的实现

    FastCRUD 是一个为 FastAPI + SQLAlchemy 场景设计的开源库,由 Benav Labs 维护,旨在简化 CRUD 端点搭建与数据库操作的流程,本文呢给大家介绍了Python使用FastAPI+FastCRUD自动生成API接口的实现,需要的朋友可以参考下
    2025-11-11

最新评论