Python编程基础:实现自动化办公


包含编程资料、学习路线图、源代码、软件安装包等!【[点击这里]】!

在这里插入图片描述

一、Excel学习

1. 跨表汇总
import pandas as pd
import os

# 把文件夹里所有excel都搂过来
所有表 = []
for 文件 in os.listdir("各分公司数据"):
    if 文件.endswith(".xlsx"):= pd.read_excel(f"各分公司数据/{文件}")["分公司"] = 文件.split(".")[0]  # 给每行加个分公司名
        所有表.append()

# 摞起来存新表
总表 = pd.concat(所有表)
总表.to_excel("全国总数据.xlsx", index=False)
print("整完了!总共{}行数据,领导要问就说人工核对的!".format(len(总表)))
2. 自动标红异常数据
from openpyxl import load_workbook
from openpyxl.styles import PatternFill

红脸蛋儿 = PatternFill(start_color="FF0000", end_color="FF0000", fill_type="solid")

wb = load_workbook("质量检测.xlsx")
sheet = wb.active

forin range(2, sheet.max_row+1):
    数值 = sheet.cell(row=, column=3).value
    if 数值 < 90:  # 低于90分的标红
        forin range(1, 5):
            sheet.cell(row=, column=).fill = 红脸蛋儿

wb.save("标红结果.xlsx")
print("给那帮犊子标得红彤儿的,看他们咋狡辩!")

二、Word模板

from docx import Document
from datetime import datetime

def 生成合同(甲方名称, 金额, 项目内容):
    模板 = Document("空白合同.docx")

    # 替换关键字
替换词 = {
        "{{甲方}}": 甲方名称,
        "{{金额}}": f"{金额:,}元整",
        "{{日期}}": datetime.now().strftime("%Y年%m月%d日"),
        "{{项目}}": 项目内容}

    for 段落 in 模板.paragraphs:
        for 旧词, 新词 in 替换词.items():
            if 旧词 in 段落.text:
                段落.text = 段落.text.replace(旧词, 新词)

    文件名 = f"{甲方名称}_合同_{datetime.now().strftime("%Y%m%d")}.docx"
    模板.save(文件名)
    print(f"{甲方名称}的合同生成完毕,记得盖骑缝章啊!")

# 示例:给"沈阳老雪花啤酒厂"生成合同
生成合同("沈阳老雪花啤酒厂", 500000, "2024年度瓶盖印刷服务")

三、PDF处理-PDF转Word

1. 批量提取PDF文字
import PyPDF2

def 扒PDF内容(文件路径):
    内容 = []
    with open(文件路径, "rb") as f:
        读者 = PyPDF2.PdfReader(f)
        forin 读者.pages:
            内容.append(.extract_text())
    return "\n".join(内容)

# 示例:提取整个文件夹PDF
for pdf文件 in os.listdir("年度报告"):
    if pdf文件.endswith(".pdf"):
        文字内容 = 扒PDF内容(f"年度报告/{pdf文件}")
        with open(f"提取结果/{pdf文件}.txt", "w", encoding="utf-8") as f:
            f.write(文字内容)
        print(f"{pdf文件}扒完了,跟扒苞米似的!")
2. 合并PDF
from PyPDF2 import PdfMerger

合并器 = PdfMerger()
for 文件 in ["报告1.pdf", "报告2.pdf", "总结.pdf"]:
    合并器.append(文件)

合并器.write("终极合并版.pdf")
合并器.close()
print("给领导攒了个大全套,够他瞅半拉月了!")

四、自动填网页表单

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

# 开浏览器(记得下对应驱动)
司机 = webdriver.Chrome()
司机.get("http://破政务系统.com/login")

# 填登录信息
用户名框 = 司机.find_element(By.ID, "username")
用户名框.send_keys("张铁柱")
密码框 = 司机.find_element(By.ID, "password")
密码框.send_keys("TieZhu_1958")
登录按钮 = 司机.find_element(By.XPATH, "//button[@type='submit']")
登录按钮.click()

# 等页面加载
time.sleep(3)

# 自动填申报表
司机.find_element(By.ID, "company_name").send_keys("沈阳大碴子科技")
司机.find_element(By.ID, "social_credit").send_keys("91210105ABCD1234")
司机.find_element(By.XPATH, "//input[@value='民营']").click()
司机.find_element(By.ID, "submit_button").click()

print("申报表填完了,比食堂大妈手抖的毛病治得都利索!")

五、微信自动提醒

import requests
import schedule
import time

def 发微信提醒(内容):
    url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的密钥"
    headers = {"Content-Type": "application/json"}
    data = {
        "msgtype": "text",
        "text": {
            "content": 内容,
            "mentioned_mobile_list": ["13840405848"]  # 要@的人手机号}}
    requests.post(url, json=data)

# 每天上午十点提醒开会
schedule.every().day.at("10:00").do(lambda: 发微信提醒("铁子们该开会了!带好本儿和笔!"))

# 每月最后一天提醒交报表
schedule.every().month.last.day.at("16:30").do(
    lambda: 发微信提醒("财务大姐抄扫帚了!赶紧交报表!"))

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

六、实战:自动报销贴发票

import os
from PIL import Image

def 贴发票(发票路径, 模板路径="报销单模板.jpg"):
    # 打开模板和发票
    模板 = Image.open(模板路径)
    发票 = Image.open(发票路径)

    # 把发票缩放到合适尺寸
    发票 = 发票.resize((500, 300))

    # 贴到模板指定位置(坐标自己量)
    模板.paste(发票, (100, 200))

    # 保存
    文件名 = f"报销单_{os.path.basename(发票路径)}"
    模板.save(文件名)
    print(f"{文件名}贴好了,跟狗皮膏药似的严实!")

# 示例:处理整个文件夹发票
for 发票 in os.listdir("电子发票"):
    if 发票.endswith((".png", ".jpg")):
        贴发票(f"电子发票/{发票}")

图片

总结

  • 最后希望你编程学习上不急不躁,按照计划有条不紊推进,把任何一件事做到极致,都是不容易的,加油,努力!相信自己!

文末福利

  • 最后这里免费分享给大家一份Python全套学习资料,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
包含编程资料、学习路线图、源代码、软件安装包等!【[点击这里]】领取!
  • ① Python所有方向的学习路线图,清楚各个方向要学什么东西
  • ② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
  • ③ 100多个Python实战案例,学习不再是只会理论
  • ④ 华为出品独家Python漫画教程,手机也能学习

可以扫描下方二维码领取【保证100%免费在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值