你们都用Python实现了哪些办公自动化?

那必须得分享一波我逃离996的自动办公大法了!本篇内容超实用!墙裂建议收藏!

平时在公司做数据分析的时候, 也会用python做些办公自动化的工作, 别人3小时的活,我们已经可以3分钟完成了 。技术才是第一生产力 !下面就给大家介绍几个我用到的办公自动化技巧:

在这里插入图片描述

1、Python实现Excel办公自动化

在工作中难免遇到统计表格,汇总表格,数据查重等。可根据自己的需求进行更改,代码书写的初衷主要是想解法双手,摆脱重复机械的Ctrl+C,ctrl+V,完成数据的批量替换,查找不同表格的相同位置,用代码的1秒钟代替你一小时的复制粘贴。

1.1 批量新建Excel文件

import xlwings as xw


app=xw.App(visible=True,add_book=False)


for grade in ["部门1","部门2","部门3,"部门4"]:
    workbook=app.books.add()
    workbook.save(f"./信息统计-{grade}.xlsx")1.2 批量打开Excel文件import os
import xlwings as xw


app=xw.App(visible=True,add_book=False)


for file in os.listdir("."):
    if file.endswith(".xlsx"):
        app.books.open(file)

1.3批量重命名Excel工作表

import xlwings as xw


app=xw.App(visible=False,add_book=False)


workbook=app.books.open("信息统计-部门.xlsx")


for sheet in workbook.sheets:
    sheet.name=sheet.name.replace("Sheet","业绩")
workbook.save()
app.quit()

1.4批量合并EXCEL文件

import pandas as pd
import os


data_list=[]
for fname in os.listdir("."):
    if fname.startswith("信息统计-") and fname.endswith(".xlsx"):
         data_list.append(pd.read_excel(fname))
data_all=pd.concat(data_list)
data_all.to_excel("信息统计总表.xlsx",index=False)

1.5批量数据查重import openpyxl

from openpyxl.styles import PatternFill
import re
import traceback


changeCells = 0


def Find_Same(file1,num1,col1,file2,num2,col2):
    # load the file(*.xlsx)
    wb1 = openpyxl.load_workbook(file1)
    wb2 = openpyxl.load_workbook(file2)
    # ! deal with one sheet
    ws1 = wb1.worksheets[num1]
    ws2 = wb2.worksheets[num2]


    global changeCells
    # get rows and columns of file
    rows1 = ws1.max_row
    rows2 = ws2.max_row
    all_file1_data = []
    file1_cells = 0
    same_Cells=0
    for row in range(2, rows1+1):
        content = ws1.cell(row=row, column=col1).value
        if (content != None):
            if (type(content) == str):
                if "-" in content:
                    content= content.replace("-", " ")
                all_file1_data.append(content.lower())
                file1_cells += 1
    for row in range(2, rows2+1):
        content = ws2.cell(row=row, column=col2).value
        Color = ['ffeb9c', '9c6500']  # 黄
        fille = PatternFill('solid', fgColor=Color[0])
        if (content != None):
            if (type(content) == str):
                if "-" in content:
                    content = content.replace("-", " ")
                for file1_data in all_file1_data:
                    if content.lower() in file1_data:
                        same_Cells += 1
                        ws2.cell(row=row, column=col2, value=content).fill = fille
                        ws2.cell(row=row, column=col2).value = content.replace(content, content+" "+str(all_file1_data.index(file1_data)))
    print('file1_cells', file1_cells)
    print('same_Cells', same_Cells)
    wb2.save(file2)


if __name__ == "__main__":
     Find_Same('test.xlsx',1,4,'test1.xlsx',1,4)

2.自动发送邮件

接下来就将进入Python邮件自动化。通过邮件自动化,我们将实现各种类型的邮件发送方式。比如普通文本邮件、带附件的邮件等等

邮件自动化篇所需的模块:

  • smtplib 邮件协议与发送模块
  • email 内容定义模块
  • schedule 定时模块

smtplib 与 email 模块 可以帮助我们正常的发送邮件; schedule 模块可以帮助我们定时发送邮件,比如需要固定时间发送的邮件

下面给出一个小demo

# coding:utf-8




import smtplib


from email.mime.text import MIMEText
from email.header import Header


'''
第三方的 smpt [脚本中涉及的邮箱地址都是假的,请使用自己的真实邮箱地址进行测试]
'''


mail_host = "smtp.sina.com"     # 设置邮箱服务器
mail_user = "conan868242"       # 设置自己的邮箱
mail_pass = "cb997b01a87232b2"  # 这里就是邮箱的口令,也就是授权码;不是密码。


sender = "conan868242@sina.com"     # 定义发送者邮箱(其实就是自己)
receivers = ["3241716373@qq.com"]   # 定义接受者邮箱(可以是多个接收者)


message = MIMEText("这是一封测试邮件 O(∩_∩)O哈哈~", "plain", "utf-8")     # 定义邮件内容;"plain"是格式,表示是普通的文件内容


message["From"] = Header(sender)                            # 在message内定义发送信息 --> 发送者
message["Subject"] = Header("Python 测试邮件发送", "utf-8")   # 在message内定义发送信息的标题
print("加密后的发送内容\n", message.as_string())      # 打印输出加密后的发送内容


try:    # 捕获发送邮件的异常
    smtpObj = smtplib.SMTP()             # 实例化 SMTP 协议对象
    smtpObj.connect(mail_host, 25)       # 链接 SMTP 服务器
    smtpObj.login(mail_user, mail_pass)  # 登录邮箱验证
    smtpObj.sendmail(sender, receivers, message.as_string())    # 发送邮件; "message" 通过 "as_string()" 进行发送内容字符串的加密
except smtplib.SMTPException as error:
    print("error:{}".format(error))

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python学习大纲

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN:Python零基础入门到实战全套学习资料,免费分享

二、Python必备开发工具

在这里插入图片描述

三、入门学习视频

在这里插入图片描述

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

五、Python副业兼职与全职路线

在这里插入图片描述

六、互联网企业面试真题

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要也可以扫描下方csdn官方二维码或者点击主页和文章下方的微信卡片获取领取方式,【保证100%免费】

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值