首页 > 编程语言 >Python 自动化办公的 10 大脚本

Python 自动化办公的 10 大脚本

时间:2024-12-03 11:02:50浏览次数:17  
标签:10 Python Excel print 办公 path directory import os

1. 批量重命名文件

如果你需要对一堆文件进行重命名,比如给文件添加前缀或后缀,可以使用以下脚本:

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')


说明:此脚本遍历指定目录中的所有文件,并为每个文件添加指定的前缀。

2. 自动发送电子邮件

使用 smtplib 库,你可以轻松实现自动发送电子邮件的功能。

import smtplib
from email.mime.text import MIMEText
 
def send_email(subject, body, to_email):
    """发送电子邮件"""
    from_email = 'your_email@example.com'
    password = 'your_email_password'
 
    # 创建邮件内容
    msg = MIMEText(body)
    msg['Subject'] = subject
    msg['From'] = from_email
    msg['To'] = to_email
 
    # 发送邮件
    with smtplib.SMTP_SSL('smtp.example.com', 465) as server:
        server.login(from_email, password)
        server.send_message(msg)
        print("邮件发送成功")
 
# 使用示例
send_email("测试主题", "这是一封测试邮件", "recipient@example.com")


说明:确保替换邮件地址和 SMTP 服务器信息,以使其适应你的邮箱设置。

3. 批量处理 Excel 文件

使用 pandas 和 openpyxl 库,可以轻松读取和写入 Excel 文件。

import pandas as pd
 
def process_excel(file_path):
    """读取 Excel 文件并处理数据"""
    df = pd.read_excel(file_path)  # 读取 Excel 文件
    df['新列'] = df['原列'] * 2  # 在 DataFrame 中添加新列
    df.to_excel('processed_file.xlsx', index=False)  # 保存处理后的结果
    print("Excel 文件处理完成")
 
# 使用示例
process_excel('path/to/your/excel_file.xlsx')


说明:此脚本读取指定的 Excel 文件,对其中一列的数据进行简单的数学运算,然后保存处理后的结果到新的 Excel 文件中。

4. 网页抓取数据

使用 requests 和 BeautifulSoup,可以轻松从网页抓取数据。

import requests
from bs4 import BeautifulSoup
 
def fetch_data(url):
    """从指定 URL 抓取数据"""
    response = requests.get(url)
    soup = BeautifulSoup(response.content, 'html.parser')
 
    titles = [title.get_text() for title in soup.find_all('h2')]  # 假设标题在 <h2> 标签中
    print("抓取到的标题:")
    for title in titles:
        print(title)
 
# 使用示例
fetch_data('https://example.com')


说明:该脚本访问指定的 URL,解析 HTML 内容,并提取所有 <h2> 标签内的文本。

5. 文件备份

这个脚本可以帮助你快速备份指定目录中的文件。

import shutil
import os
import datetime
 
def backup_files(source_directory, backup_directory):
    """备份文件到指定目录"""
    date_str = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
    backup_path = os.path.join(backup_directory, f"backup_{date_str}")
    shutil.copytree(source_directory, backup_path)  # 复制整个目录
    print(f"备份完成: {backup_path}")
 
# 使用示例
backup_files('path/to/source_directory', 'path/to/backup_directory')


说明:该脚本使用 shutil.copytree() 方法复制源目录中的所有文件到备份目录。

6. 自动生成报告

如果你需要根据数据生成报告,可以使用 pandas 来处理数据并生成 PDF 或 Excel 格式的报告。

import pandas as pd
 
def generate_report(data):
    """根据数据生成简单的 Excel 报告"""
    df = pd.DataFrame(data)
    df.to_excel('report.xlsx', index=False)
    print("报告已生成: report.xlsx")
 
# 使用示例
data = {
    '姓名': ['张三', '李四'],
    '分数': [90, 85]
}
generate_report(data)
说明:该脚本将样本数据转换为一个 Excel 文件。

7. 图片批量处理

使用 Pillow 库,可以批量处理图片,例如调整大小或格式转换。

from PIL import Image
import os
 
def resize_images(source_directory, output_directory, size=(800, 800)):
    """调整指定目录下所有图片的大小"""
    if not os.path.exists(output_directory):
        os.makedirs(output_directory)
 
    for filename in os.listdir(source_directory):
        if filename.endswith(('.png', '.jpg', '.jpeg')):
            img_path = os.path.join(source_directory, filename)
            img = Image.open(img_path)
            img = img.resize(size)
            img.save(os.path.join(output_directory, filename))
            print(f"已调整大小并保存: {filename}")
 
# 使用示例
resize_images('path/to/source_images', 'path/to/output_images', (800, 800))


说明:该脚本遍历指定目录,调整每张图片的大小并保存到输出目录。

8. 数据库操作

使用 sqlite3 库,可以方便地与 SQLite 数据库进行交互。

import sqlite3
 
def create_table():
    """创建一个简单的SQLite表"""
    conn = sqlite3.connect('example.db')
    cursor = conn.cursor()
    cursor.execute('''CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
    conn.commit()
    conn.close()
    print("表创建成功")
 
# 使用示例
create_table()


说明:此脚本连接到 SQLite 数据库并创建一个用户表。

9. 自动化日程提醒

可以使用 schedule 库设置定时任务,比如每天发送提醒邮件。

import schedule
import time
 
def job():
    print("这是您的日程提醒!请记得查看日程安排。")
 
# 设置每天的提醒时间
schedule.every().day.at("10:00").do(job)
 
while True:
    schedule.run_pending()
    time.sleep(1)


说明:该脚本每天下午 10 点执行预定的提醒任务。

10. 网络监控

可以编写一个简单的脚本来监控特定网站的状态,确保它们正常运行。

import requests
 
def check_website(url):
    """检查网站是否正常"""
    try:
        response = requests.get(url)
        if response.status_code == 200:
            print(f"{url} 正常运行")
        else:
            print(f"{url} 返回状态码: {response.status_code}")
    except requests.exceptions.RequestException as e:
        print(f"访问 {url} 时发生错误: {e}")
 
# 使用示例
check_website('https://example.com')

标签:10,Python,Excel,print,办公,path,directory,import,os
From: https://blog.csdn.net/2401_86544677/article/details/144205924

相关文章

  • python解压缩文件
    压缩文件概述文件压缩原理文件压缩技术的核心在于消除信息冗余和优化编码效率。通过识别并去除数据中的重复模式、不必要的空白或格式信息,压缩算法能够显著减少文件的实际存储需求。这一过程涉及多个关键技术:统计冗余利用:根据数据出现频率赋予不同长度的编码,如哈夫曼......
  • 2024年版最详细Python下载安装+PyCharm下载安装使用教程!新手小白必看!
    2024年版最新Python下载安装+PyCharm下载安装使用教程!一、Python的下载安装访问官网选择版本下载安装包安装Python验证安装二、PyCharm的下载安装访问官网下载PyCharm安装PyCharm首次启动与配置三、PyCharm的基本使用创建Python文件编写代码运行代码安装第三方库配置Py......
  • 10C++选择结构(4)
    一、switch语句问题:风之巅小学规定,若测试成绩大于或等于90分为“A”,大于或等于70分小于90分为“B”,大于或等于60分小于70分为“C”,60分以下为“D”。试编一程序,输入一个成绩,输出它的等级。流程图如下:#include<typeinfo>//变量类型头文件,还是有问题;无法判断int#include<......
  • hhdb数据库介绍(10-28)
    管理管理菜单主要囊括对业务数据进行管理的功能,例如对数据的备份恢复或执行业务表的DDL语句等操作。数据对象数据对象功能可以帮助用户通过列表实时查看当前已存在的数据对象,了解业务数据的整体情况。提供了对数据对象的筛选、统计、关联、详情等信息。基础数据对象的统计分......
  • 评价:6 款办公软件对 J 人设计团队协作效率的惊人助力!
    在当今数字化时代,设计行业的项目管理变得日益复杂,一个高效的项目可视化办公软件对于提升工作效率、优化项目流程以及促进团队协作至关重要。然而,市场上软件众多,找到一款真正契合设计行业需求的却并非易事。今天,我们就来盘点6款适用于设计行业的项目可视化办公软件,其中包括国产的......
  • hhdb数据库介绍(10-29)
    管理数据备份从存储节点或灾备机房数据备份选择灾备机房类型、从库(双主备库)存储节点类型进行备份,页面根据选择类型,对应给出提示信息。发起备份时,检测从存储节点状态是否符合备份条件。主从数据一致性检测如果机房类型选择灾备机房或者存储节点类型选择从库(双主备库),发起备份......
  • hhdb数据库介绍(10-30)
    管理数据恢复当业务数据遭受损坏或丢失时,可使用数据恢复功能将已备份的数据重新还原到损坏或丢失的逻辑库中。数据恢复时序图:发起恢复发起说明点击“管理->数据恢复->【发起恢复】”即可跳转到数据恢复页面恢复发起前,出于数据安全性考虑,若超过3小时没有数据备份,则......
  • hhdb数据库介绍(10-31)
    管理数据恢复执行数据恢复说明恢复页面输入正确的恢复信息,提交恢复任务后跳转到恢复页面,任务状态显示“恢复中且有进度更新显示”,此时若触发删除操作,则提示“恢复执行中不能删除”恢复期间计算节点会暂停服务,待恢复完成后会自动重启服务。(若中途恢复失败则需手动启动计......
  • [Python手撕]岛屿数量
    给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例1:输入:grid=[["1","1","1","1","0"],["1","1","0&......
  • 基于 MVC 架构的 SpringBoot 高校办公室行政事务管理系统:创新设计与高效实现
    1绪论1.1课题背景身处网络时代,随着网络系统体系发展的不断成熟和完善,人们的生活也随之发生了很大的变化。目前,人们在追求较高物质生活的同时,也在想着如何使自身的精神内涵得到提升,而读书就是人们获得精神享受非常重要的途径[1]。纸质版的书籍比较沉重,携带不方便,而由于手机......