公告资讯

热门消息 > Python自动化办公的15个高效脚本,助你工作效率翻倍!

Python自动化办公的15个高效脚本,助你工作效率翻倍!

2024-12-18

Python自动化办公的15个实用脚本,让你效率翻倍!

办公室里那些重复的工作真的让人头疼!要是能用Python来解决这些问题就好了。经过一番研究,我整理出了15个非常有用的Python脚本,确保能够帮助你在工作中提高效率。

批量重命名文件

你是否遇到过需要更改数百个文件名的情况?手动更改太麻烦了。使用Python编写一个小脚本,几分钟就能搞定:

1import os
2
3def batch_rename(path, old_str, new_str):
4    files = os.listdir(path)
5    for file in files:
6        if old_str in file:
7            new_name = file.replace(old_str, new_str)
8            os.rename(os.path.join(path, file), os.path.join(path, new_name))

????提示:记得先备份文件,万一改错了还能恢复。

Excel数据批量处理

处理Excel数据最麻烦的是要处理多个文件。pandas库简直是神器:

1import pandas as pd
2
3def merge_excel(folder_path, output_file):
4    all_data = pd.DataFrame()
5    for file in os.listdir(folder_path):
6        if file.endswith(.xlsx):
7            df = pd.read_excel(os.path.join(folder_path, file))
8            all_data = pd.concat([all_data, df])
9    all_data.to_excel(output_file, index=False)

PDF文件合并

开会要用的资料分散在几个PDF文件中?这个脚本帮你合并成一个:

1from PyPDF2 import PdfMerger
2
3def merge_pdfs(pdf_list, output_file)
4    merger = PdfMerger()
5    for pdf in pdf_list:
6        merger.append(pdf)
7    merger.write(output_file)
8    merger.close()

自动发送邮件

每天都要发送类似的邮件?用这个脚本一键发送:

1import smtplib
2from email.mime.text import MIMEText
3
4def send_email(sender, password, receiver, subject, content):
5    msg = MIMEText(content)
6    msg[Subject] = subject
7    msg[From] = sender
8    msg[To] = receiver
9
10    with smtplib.SMTP_SSL(smtp.gmail.com, 465as smtp:
11        smtp.login(sender, password)
12        smtp.send_message(msg)

定时任务执行

有些工作需要定时完成?schedule库来帮你搞定:

1import schedule
2import time
3
4def job():
5    print(“执行定时任务...”)
6
7schedule.every().day.at(“10:00”).do(job)
8
9while True
10    schedule.run_pending()
11    time.sleep(1)

图片批量压缩

幻灯片里的图片太大无法发送?批量压缩它们:

1from PIL import Image
2
3def compress_images(input_path, output_path, quality=80)
4    img = Image.open(input_path)
5    img.save(output_path, quality=quality, optimize=True)

网页数据爬取

需要从网站上抓取数据?requests库来帮忙:

1import requests
2from bs4 import BeautifulSoup
3
4def get_web_data(url):
5    response = requests.get(url)
6    soup = BeautifulSoup(response.text, html.parser)
7    return soup.get_text()

Word文档处理

需要批量修改Word文档?python-docx库很给力:

1from docx import Document
2
3def process_word(file_path)
4    doc = Document(file_path)
5    for para in doc.paragraphs:
6        # 在这里处理段落
7        pass
8    doc.save(new_ + file_path)

自动填写表格

每天都要填写同样的表格?这个脚本能帮你解放双手:

1import openpyxl
2
3def fill_form(template_path, data_dict):
4    wb 
= openpyxl.load_workbook(template_path)
5    sheet = wb.active
6    for cell, value in data_dict.items():
7        sheet[cell] = value
8    wb.save(filled_ + template_path)

文件监控

需要监控文件夹的变化?watchdog库来帮忙:

1from watchdog.observers import Observer
2from watchdog.events import FileSystemEventHandler
3
4class MyHandler(FileSystemEventHandler):
5    def on_modified(self, event):
6        print(f文件被修改啦: {event.src_path})

自动备份

担心文件丢失?写个自动备份脚本:

1import shutil
2import datetime
3
4def backup_files(source, dest)
5    date 
= datetime.datetime.now().strftime(%Y%m%d)
6    shutil.copytree(source, f{dest}/backup_{date})

日志分析

日志文件太多看不过来?用Python帮你分析:

1def analyze_log(log_file):
2    with open(log_file, r) as f:
3        logs = f.readlines()
4        errors = [log for log in logs if ERROR in log]
5        return len(errors)

CSV数据处理

CSV文件处理也是小菜一碟:

1import csv
2
3def process_csv(file_path)
4    with open(file_path, r) as f:
5        reader = csv.DictReader(f)
6        for row in reader:
7            # 处理每一行数据
8            pass

自动截图

需要自动截图?pyautogui帮你搞定:

1import pyautogui
2
3def take_screenshot(filename)
4    screenshot = pyautogui.screenshot()
5    screenshot.save(filename)

GUI自动化

重复的点击操作?让程序帮你点:

1import pyautogui
2
3def click_button(x, y)
4    pyautogui.moveTo(x, y)
5    pyautogui.click()

????提示:使用这些脚本时记得测试一下,避免弄丢重要文件。还有,涉及密码的代码要加密存储,不要直接写在脚本里。

这些脚本都是我在实际工作中使用的,确实节省了很多时间。代码并不难,复制粘贴稍作修改就能用。遇到报错也不要慌,通常是因为缺少相应的库,用pip install安装一下就好。

如果你需要更多的自动化想法,可以查阅Python的自动化库,比如 pyautogui 、 selenium 等,里面有很多有趣的功能。

写代码最重要的是解决问题,这些脚本都是为了实际问题而设计的,用起来特别顺手!




点点赞

点分享

点在看