10w+播放!自动化办公,用到了哪些实用的Python技术?

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,1000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 10w+播放!自动化办公,用到了哪些实用的Python技术?

大家好,这里是程序员晚枫,小红薯也叫这个名字。

去年4月,我在Github和pypi同步发布了自动化办公的专用库:python-office,并且有幸得到了开源中国的推荐。

截至目前,在GitHub和Gitee获得的star⭐分别是:650、573,在小破站和百度发布的python-office的相关教程,都获得了10w+的播放。

Stargazers over time

作为初次使用这个项目的小白,经常会被这个项目可以用1行代码实现复杂的办公需求所吸引,但简单的操作背后,有哪些复杂的技术支撑呢?

今天就给大家揭秘5个在python-office这个库中使用到的实用编程技巧,帮助感兴趣的同学进一步提高编程技术~

内置函数

首先要说的是最基础,也最实用的python技巧:使用内置函数。

给大家举个例子,python-office这个库里有一个功能非常受欢迎:PDF转Word,这个功能,既可以单个处理,也可以批量处理。

在批量处理之前/之后,程序会给你报告一下,本次待处理/处理了多少个文件。

这时候就需要用到一个编程:统计列表里的文件总数。

如果你不用内置函数,以实现你会这么写代码:

file_list = [a.pdf,b.pdf,c.pdf...]
file_count = 0
for file in file_list:
    file_count += 1

如果使用内置函数,1行代码就搞定了:

file_list = [a.pdf,b.pdf,c.pdf...]
file_count = len(file_list)

使用内置函数除了代码简洁外,还有一个很明显的好处:代码速度更快!

装饰器

运行过代码的朋友还会发现:我们每个功能,都是自带视频教程的。

如何在不改变代码的情况下,给代码增加功能呢?这时候就可以用装饰器来实现了。

@instruction
def fake2excel(columns=['name'], rows=1, path='./fake2excel.xlsx', language='zh_CN'):
    """
    自动创建Excel,并且模拟数据
    Args:
        columns: 列名,可以模拟的列见源码。
        rows: 生成多少行数据。默认值:1
        path: 生成的Excel的位置和名称。
        language: 数据用什么语言,默认是中文,可以填english,

    Returns:

    """
    poexcel.fake2excel(columns, rows, path, language)

自定义装饰器的方法,之前在同名小破站给大家分享过:利用世界杯,读懂 Python 装饰器

类型提示(Type Hints)

类型提示可以帮助开发者更容易地理解代码,同时可以让一些工具(如IDE和静态类型检查器)提供更好的代码分析和自动补全功能。类型提示在Python 3.5及以后的版本中通过类型注解(Type Annotations)和typing模块得到支持。

对于写Java,尤其是写C++的程序员来说,Python中的类型定义用起来很难受。Type Hints可以提供一定程度的类型提示功能,但请注意,这个提示只对阅读代码有用,对于代码编译和运行没有任何作用。

举个例子:从100个Excel中,搜索包含'程序员晚枫'这几个字的Excel文件。

@instruction
def find_excel_data(search_key: str, target_dir: str):
    poexcel.find_excel_data(search_key, target_dir)

其中,search_key: str, target_dir: str表示:指定了参数的类型为str。

面向对象

这一点不用多说了,因为稍微懂一点专业开发的朋友,都知道什么是面向对象。而不懂面向对象的业余开发,也没有必要懂。

具体代码,大家可以去python-office的代码仓库查看,每个api都是基于对象实现的。

  • GitHub:python-office

Path

pathlib是跨平台的、面向对象的路径操作模块,可适用于不同的操作系统,其操作对象是各种操作系统中使用的路径(包括绝对路径和相对路径),pathlib有两个主要的类,分别为PurePath和Path。

python-office中主要使用的是Path,用起来真的很方便!

file_path = Path('./程序员晚枫的文件夹') / Path('./res')

使用Path方法,拼接路径的时候就不需要使用os.join了,可以直接用/你敢信吗?大大提高了代码的可读性~


大家学习 或 使用代码过程中,有任何问题,都可以加入评论区交流哟~👇

相关文章
|
3月前
|
JSON API 开发者
天猫商品详情API接口技术解析与Python实现
天猫商品详情API(tmall.item_get)通过商品ID获取商品标题、价格、库存、图片、SKU及评价等详细信息,支持HTTP请求与JSON格式返回,适用于电商数据分析与运营。本文提供Python调用示例,实现快速接入与数据解析。
|
3月前
|
Web App开发 存储 前端开发
Python+Selenium自动化爬取携程动态加载游记
Python+Selenium自动化爬取携程动态加载游记
|
3月前
|
数据采集 人工智能 API
推荐一款Python开源的AI自动化工具:Browser Use
Browser Use 是一款基于 Python 的开源 AI 自动化工具,融合大型语言模型与浏览器自动化技术,支持网页导航、数据抓取、智能决策等操作,适用于测试、爬虫、信息提取等多种场景。
629 4
推荐一款Python开源的AI自动化工具:Browser Use
|
3月前
|
机器学习/深度学习 数据安全/隐私保护 计算机视觉
过三色刷脸技术,过三色刷脸技术教程,插件过人脸python分享学习
三色刷脸技术是基于RGB三通道分离的人脸特征提取方法,通过分析人脸在不同颜色通道的特征差异
|
4月前
|
监控 大数据 API
Python 技术员实践指南:从项目落地到技术优化
本内容涵盖Python开发的实战项目、技术攻关与工程化实践,包括自动化脚本(日志分析系统)和Web后端(轻量化API服务)两大项目类型。通过使用正则表达式、Flask框架等技术,解决日志分析效率低与API服务性能优化等问题。同时深入探讨内存泄漏排查、CPU瓶颈优化,并提供团队协作规范与代码审查流程。延伸至AI、大数据及DevOps领域,如商品推荐系统、PySpark数据处理和Airflow任务编排,助力开发者全面提升从编码到架构的能力,积累高并发与大数据场景下的实战经验。
Python 技术员实践指南:从项目落地到技术优化
|
3月前
|
机器学习/深度学习 算法 API
淘宝图片搜索接口技术解析与Python实现
淘宝图片搜索接口(拍立淘)基于图像识别技术,允许用户上传商品图片查找相似或相同商品。自2014年上线以来,已服务数千万日活用户,显著提升购物体验。接口通过CNN、ANN等技术实现图像预处理、特征提取与相似度匹配,支持多种调用方式与参数设置。本文提供Python调用示例,便于开发者快速集成。
|
3月前
|
数据采集 自然语言处理 分布式计算
大数据岗位技能需求挖掘:Python爬虫与NLP技术结合
大数据岗位技能需求挖掘:Python爬虫与NLP技术结合
|
3月前
|
Python
Python 办公实战:用 python-docx 自动生成 Word 文档
本文详解如何使用 python-docx 库实现 Word 文档自动化生成,涵盖环境搭建、文档创建、格式设置、表格与图片处理、模板填充、批量生成及性能优化等实战技巧,助你高效完成办公场景中的文档自动化任务。
803 1
|
3月前
|
JavaScript Java Go
Go、Node.js、Python、PHP、Java五种语言的直播推流RTMP协议技术实施方案和思路-优雅草卓伊凡
Go、Node.js、Python、PHP、Java五种语言的直播推流RTMP协议技术实施方案和思路-优雅草卓伊凡
177 0
|
3月前
|
数据采集 存储 监控
Python爬虫自动化:定时监控快手热门话题
Python爬虫自动化:定时监控快手热门话题

推荐镜像

更多