
大家嗨我是花姐, 一个在非常多的需要加班的夜晚都被救过命的人。在今天这篇文章里, 我想跟大家来聊聊一些真正实用, 非常实在的东西。具体来说, 我们要谈论的内容是办公自动化这个领域里最常被大家使用的十个软件库。从实际的说话角度来讲, 这些库全部都是经过本人亲自进行验证测试的, 绝对不是在网页上面随意抽取一些内容然后进行简单总结的那种情况。这些都是那种能让你在上班的时候悠闲地摸鱼、下班之后能够轻松地休息的工具, 这些工具能够让老板夸你效率高得离谱, 并且这些工具就是真正的神器。好了不再说那些没有实际作用的闲话了, 直接进入正式的交易环节中。1. — 操作Excel的王者我记得曾经有过那么一次经历, 那是我加班处理一个体积巨大的Excel文件的时候, 因为数据量过于庞大, 导致鼠标图标不停地旋转, 这种状况让我甚至都对自己的状态产生了一种怀疑人生的感受。最终的结果是, 仅仅通过几行代码就把问题给解决了, 导致我在当下这个时刻处于一种非常容易接近感动到极致以至于想要流出眼泪那种状态的边缘。关于基本用法的讲解。from openpyxl import load_workbookwb load_workbook(example.xlsx)sheet wb.activeprint(sheet[A1].value)sheet[A1] Hello, world!wb.save(example_modified.xlsx)小细节提醒当前情况是, 默认仅仅只支持.xlsx这种格式。如果是老版本的.xls格式文件, 那么是需要去配合使用xlrd这个工具的, 如果不这样做的话, 就会发生报错的问题。2. 对于表格数据进行的处理工作, 简直堪称是达到了神奇的境界。说到办公, 表格数据绝对是重灾区, 天天跟Excel打交道的我简直快被函数绕晕了。有那么一回, 领导把一大堆销售数据甩给了我。他说话的语气看起来特别轻描淡写。他还说道: 这个麻烦你计算一下总额与平均值。顺便把这些数据进行分类。早点交给我就行了。我当时手里还攥着一杯奶茶。我差点一口没吸上来……大脑突然短路, 所以我打开了它。用了十分钟后得到了结果, 又过了二十分钟加上了图表, 再用三十分钟打包并通过电子邮件发送出去。领导看了一下之后说嗯做得很不错而且非常细致。我表面上装作很镇定但实际上心里早就偷偷高兴起来了因为如果没有这个工具的话我会在今晚加班到十点整。简单示例import pandas as pddf pd.read_excel(sales.xlsx)print(df.head())total df[销售额].sum()print(f总销售额{total})注意在实施安装操作之前务必先完成相关前置程序的部署, 以免因未正确配置而导致后续操作过程中提示存在缺失依赖项3. -docx, 它是专门处理Word文档的小帮手。有一次在工作总结的制作环节, 老板明确要求大家要使用统一的格式以及统一的字体, 如果要依靠手工进行修改的话这是绝对行不通的, 这种情况下手动操作这件事对于我来说是绝对不会去做的。-docx轻松帮我自动生成Word报告一边跑脚本一边喝可乐快乐爆表。关于基本用法的讲解。from docx import Documentdoc Document()doc.add_heading(周总结, 0)doc.add_paragraph(本周完成了以下任务...)doc.save(weekly_report.docx)小细节在进行Word文档操作时, 关于段落和样式的内容以及如何处理docx文件, 顺序问题非常关键, 如果处理不当就可能出现混乱的情况存在发生的可能, 因此建议大家可以多尝试几次实践以便通过积累经验来深入理解。4. — 合并拆分PDF轻松搞定若非如此的话, 我大概还需要动用Adobe这款工具来进行PDF文档的逐一拆解以及后续的重新拼合操作。用这个来批量处理, 只需要几秒钟的时间, 那种感觉真的非常舒服。简单示例import PyPDF2merger PyPDF2.PdfMerger()merger.append(file1.pdf)merger.append(file2.pdf)merger.write(merged.pdf)merger.close()小提醒要是碰上了那种被加密保护的PDF文件也是完全可以进行解密处理的, 不过有一个前提条件必须满足, 那就是你自己手里必须得掌握正确的密码才行呀。5. 自动群发邮件的功能是email, 这一点用起来的感觉简直是不用说太爽了。在一段时间当中, 曾经协助人力资源部门的年轻女性工作人员向多人批量发送录取通知书的电子邮件文件, 具体执行的方式是做到每人对应一份个人简历文档以及每一份对应的通知信息。我一开始竟然还傻傻地手动发送了5封邮件, 后来仔细一想觉得这样不行啊, 于是立马动手编写了一个自动发邮件的小脚本程序, 使用效率瞬间就提升到了前所未有的速度。代码示例import smtplibfrom email.mime.text import MIMETextmsg MIMEText(你好恭喜你通过面试)msg[Subject] 录用通知msg[From] msg[To] server 587)server.starttls()password)server.send_message(msg)server.quit()小细节有些公司的邮箱服务器的安全防护是相当严格的, 所以记得提前询问IT部门的有关SMTP设置的详细信息。6. 这是一个定时执行任务的小能手。在一些特定场合, 人们可能会希望能够让某个脚本在固定的时间点自动运行, 例如设置成每天早晨八点准时执行并且发送日报这样的任务。不需要你自己始终如一地紧紧盯着, 就如同一个小型的闹钟发出叮的一声响那样可以运作, 进而实现自动化的运转。简单示例import scheduleimport timedef job():print(每天8点发送日报)schedule.every().day.at(08:00).do(job)while True:schedule.run_pending()time.sleep(1)7. 通过模拟鼠标键盘的操作来进行交互, 使得整个动作流畅且灵活得非常出色。我还记得曾经有那么一次, 系统的登录页面没有接入相关的软件应用程序接口, 导致大家不管怎么努力, 都只能依靠手动点击屏幕上的按钮来完成操作。后来我生着闷气, 写了一个脚本, 让电脑去自动打开浏览器, 然后再输入账号, 接着敲击回车这个键子, 整个这一套流程下来, 完全不需要我动手去做什么事情, 这种状况让我感觉到了相当程度的成就。示例import pyautoguipyautogui.moveTo(100, 200)pyautogui.click()pyautogui.typewrite(hello world)pyautogui.press(enter)细节提醒因为操作的速度运行得太快, 有可能导致界面的处理反应不过来进行回应, 所以可以在中间增加一些代码.PAUSE 1.0, 用以防止系统处于失控的状态。8. 这是一款被称为Excel神器的工具, 它能够让你在处理表格时如鱼得水, 带你轻松达到理想的效果。说白了的话如果是要处理那些静态状态的表格内容, 这个功能还是能够维持在一个尚可的水平, 然而要是想针对处于直接运行状态的Excel文件进行一些操作行为来说, 那么就需要使用其他的手段或者工具了。我使用这个工具制作了一个关于报价单能够被自动填写的一个小程序, 只要按下键盘上的Enter键这样一个动作, 系统就会进行全自动的操作把一大堆的表格都填写完毕, 这让旁边观看的同事产生了非常强烈的羡慕情绪并且处于了一种目瞪口呆的状态。示例import xlwings as xwwb xw.Book(example.xlsx)sheet wb.sheets[Sheet1]sheet.range(A1).value Hello, Excel!wb.save()wb.close()9. 让你的脚本变得更加的帅气一点, 并且它是带有进度条的tqdm。有一些脚本在运行的时候速度特别慢, 看着那个命令行窗口里面空空的什么都没有显示, 这时候心里会觉得特别慌张。因为把tqdm这项东西给加上去了, 所以那个进度条就开始滚动起来了, 这样一来, 心里面马上就感觉到特别安稳了。用法from tqdm import tqdmimport timefor i in tqdm(range(100)):time.sleep(0.1)10. 加上系统支持这一功能, 就可以处理很多的文件, 这是做文件批量加工的时候必须的工具。在进行文件搬运、重命名以及内容复制等相关操作时, 操作系统本身所自带的功能就已经能够很好地满足了需求。特别是去配合着使用那个可以进行批量筛选功能的glob工具, 这样子就提供了一整套的完整服务流程。例子import osimport shutilfiles os.listdir(data)for file in files:if file.endswith(.txt):shutil.copy(os.path.join(data, file), backup)