“虽然辛苦,我还是会选择那种滚烫的人生。

独白

今儿有个集美找我,她之前在上海做金融量化分析。后来~“告老还乡”,emmm..开玩笑嘿,她家里希望她回家考公务员,So,已经放下 Python 好多年。

于是乎,就有了工作上的“琐事”(如下图)。如果她用CV大法去做的话,是非常浪费时间的,所以她就想到了我..那我拍拍大腿,下定决心要秀一下我大Python的强大~HHH,又想着估计很多朋友可能有跟她一样的困惑,索性就写篇文章跟大家再分享分享自动化办公这块儿,希望对大家有所帮助的啦,奥耶!

一起学习叭

释放双手吊炸天案例1

需求:

获取文件夹里所有文件的名字将文件名字保存到 docx 文件中

实现:

我们需要获取某文件夹里边所有文件的名字,那文件夹实际上是在我们的操作系统中的,所以我们可以使用 python 对接操作系统的模块来实现——os模块。需要注意的是,你千万别给我 pip install os 去安装,我揍你!这是我们 python 的内置模块,直接导入就可以使用了,晓得不~

import os

然后使用 os.listdir(path=None) 方法去列出 path 下所有文件的名字,返回值为列表

# 获取当前 py 文件 所在文件夹cur_dir = os.getcwd()# 列出 cur_dir 下的所有文件名称cur_file_list = os.listdir(cur_dir)cur_file_list-----------------------------------------['.ipynb_checkpoints','auto_work.ipynb', 'demo.docx', 'demo.txt', 'Untitled.ipynb', '水果店营业额.xlsx']

将这些文件名称都写入到 docx 文件中,所以给大家介绍 python-docx 这个模块,它是需要安装的哟!pip install python-docx 进行安装,然后可参考官网:https://python-docx.readthedocs.io/en/latest/index.html

# 从 docx 模块中 导入 Document 类from docx import Document# 创建 doc 对象document = Document()# 添加 1级 标题document.add_heading('工作文件夹清单', 0)# 将 cur_file_list 中每个元素,写入到 docx 文档中的段落for cur_file in cur_file_list:document.add_paragraph(cur_file)# 保存 docx 文件document.save('清单.docx')

效果如下:

释放双手吊炸天案例2

在 dos 命令行运行 py 文件传入参数 path1 path2将 path2 下的所有文件根据其扩展名,分类至 path1 下的文件夹中(该文件夹以扩展名命名分类)...阿我感觉我描述不清了~直接上图看效果叭!

获取在命令行运行文件传入的参数。这一块我们需要使用到 python 的内置模块 sys 模块,该模块是与 python 解释器进行交互滴~ 其中的 sys.argv 就可以达到我们的目的,但是注意它的返回值为列表,并且列表中第一个元素为当前文件的名称,其它元素为运行文件所传入的参数。

import osprint(sys.argv)--------------------------------E:\highCode>python test.py "C:\Users\lenovo\Desktop\Demo\category" "C:\Users\lenovo\Desktop\Demo"['test.py', 'C:\\Users\\lenovo\\Desktop\\Demo\\category', 'C:\\Users\\lenovo\\Desktop\\Demo']

当分类文件夹不存在时,则创建文件夹。使用 os.mkdir(path) 方法,注意:该方法使用时,若重复创建则会抛出异常,所以我们先通过 os.path.exists(path) 进行判断该文件路径是否存在,不存在时才创建。

import sys# 分类文件夹cate_dir = sys.argv[1]# 需要被分类文件的文件夹goal_dir = sys.argv[2]# 创建文件夹if not os.path.exists(cate_dir):os.mkdir(cate_dir)

获取 goal_dir 文件夹下的所有文件以及子文件夹下的所有文件的绝对路径。我们需要使用 glob 模块,它有一个非常棒的优势,就是可以使用 Unix shell 风格的通配符匹配符合特定格式的文件和文件夹。来看看它的官方说明

Signature: glob.glob(pathname, *, recursive=False)Source: def glob(pathname, *, recursive=False):"""Return a list of paths matching a pathname pattern. The pattern may contain simple shell-style wildcards a la fnmatch. However, unlike fnmatch, filenames starting with a dot are special cases that are not matched by '*' and '?' patterns. If recursive is true, the pattern '**' will match any files and zero or more directories and subdirectories. """ return list(iglob(pathname, recursive=recursive))

注意:当我们设置 recursive 为 true 的时候,**才意味着匹配到文件夹下子文件夹的文件...

import glob# 循环遍历 goal_dir 下的 所有 文件for file in glob.glob(f"{goal_dir}/**/*", recursive=True):print(file)----------------------------------------------------------C:/Users/lenovo/Desktop/Demo\auto_work.ipynbC:/Users/lenovo/Desktop/Demo\demo.docxC:/Users/lenovo/Desktop/Demo\demo.txtC:/Users/lenovo/Desktop/Demo\Untitled.ipynbC:/Users/lenovo/Desktop/Demo\新建文件夹C:/Users/lenovo/Desktop/Demo\清单.docxC:/Users/lenovo/Desktop/Demo\老Amy水果店营业额.xlsx

并且我们发现,file 包括了文件夹的绝对路径~ 我们只需要文件的名称就够了。通过 os.path.isfile(file) 来过滤出文件的绝对路径,然后通过 os.path.basename(file) 取出文件名,比如:demo.txt获取其文件名的扩展名(txt),去创建 category 下的文件夹 txt

import shutil# 但是 遍历确认是文件 则需要获取到 绝对路径的 文件名for file in glob.glob(f"{goal_dir}/**/*", recursive=True):if os.path.isfile(file): # 获取绝对路径中的文件名 如:demo.txt filename = os.path.basename(file) # 如果.在文件名中 取出其扩展名 if "." in filename: suffix = filename.split(".")[-1] # 创建cate_dir 下的 扩展名 文件夹 if not os.path.exists(f"{cate_dir}/{suffix}"): os.mkdir(f"{cate_dir}/{suffix}") # 将文件 拷贝到 f"{cate_dir}/{suffix}" 下 shutil.copy(file, f"{cate_dir}/{suffix}")

咚咚咚~这样就能实现效果,后面这个案例借鉴其它的啦。实在是不会体会到你们要使用 excel 的痛苦的...hhhh,朋友们可以多给我留言提提自己的需求呀!感谢你看到这儿~

python 自动化办公 书_Python自动化办公相关推荐

  1. python自动办公知识点_Python自动化办公知识点整理汇总|简明python教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? ​ 这可能是很多非IT职场人士面临的困 ...

  2. python操作word填表_Python 自动化办公—Word 文本操作命令

    点击上方 小张Python,加为星标 第一时间收到 Python 技术干货! 之前介绍了一个Python包 openpyxl ,用于处理 Excel :而对于 Word 文本时同样也有对应的 Pyth ...

  3. python自动化和教程_python自动化基本技术原理

    python自动化测试(2) 自动化基本技术原理 1 概述 在之前的文章里面提到过:做自动化的首要本领就是要会 透过现象看本质 ,落实到实际的IT工作中就是 透过界面看数据. 掌握上面的这样的本领可不 ...

  4. python实验指导书_Python实验指导书

    Python实验指导书 Python实验指导书 马 川 燕山大学计算机教学实验中心 2017.5 目录 实验一:Python程序设计之初窥门径2 实验二:Python程序设计之结构与复用7 实验三:P ...

  5. 零基础python自动化办公系统_python自动化办公?学这些就够用了

    知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手? python在自动化办公领域越来越受欢迎,批量处 ...

  6. python 自动化办公实例_python自动化办公太难?学这些就够用了

    有人提问:用 python 进行办公自动化都需要学习什么知识呢? 这可能是很多非 IT 职场人士面临的困惑,想把 python 用到工作中,却不知如何下手? python 在自动化办公领域越来越受欢迎 ...

  7. python 合并word文件_python自动化办公(1)—— 批量合并word文档

    上个月领导交给我一个非常紧急的任务,限我2天之内完成.其中有一项是将项目两年内的分析报告汇总到一篇报告中.这些报告分散在不同的目录下,而且数量也非常多. 我花了30分钟左右梳理了一下这些分析报告,竟然 ...

  8. python怎么自动化录入数据_Python自动化办公之–读取Excel 录入表单

    前言 本篇内容,让你完全掌握Python是如何自动化办公的~ 一.环境准备 1.1  Python 3.7.0 1.2  Pycharm  (Python 开发工具) 1.3 Selenium    ...

  9. python 自动化办公 案例_python自动化工具之pywinauto实例详解

    python自动化工具之pywinauto实例详解 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: python自动化工具之pywinauto实例详解.txt ] (友情提示: ...

最新文章

  1. 抄2gua一篇文章提醒自己
  2. ASP实例:利用缓存提高数据显示效率
  3. 下如何查看mysql表单_Navicat 教程:如何进行表单查看
  4. android网页声音大小设置在哪里,怎样调节网页声音的大小
  5. WPF 自定义柱状图 BarChart
  6. atitit 解决教学记忆问题 压缩算法原理  哈夫曼 LZ77 gzip  zlib deflate算法.docx 目录 1. 压缩理论 1 1.1. 柯氏复杂性 1 2. 1 RLE 1
  7. ANdroid的QQ分享接入,android 集成QQ互联 (登录,分享)
  8. LaTeX代码: 下划线与删除线 ← 利用 ulem 宏包
  9. DPDK——IP分片和重组库
  10. 决策树及matlab实现
  11. Hive select 语句大量技巧
  12. Android Studio 连接手机进行调试
  13. Unity3D游戏开发引擎的产品特点
  14. Python学习week3
  15. csapp lab3 attack 《深入理解计算机系统》实验3攻击超详细0基础解析
  16. 物联网技术周报第 103 期: DIY 智能音箱:基于 Raspberry Pi + Snowboy + AVS
  17. 计蒜客_Lpl and Energy-saving Lamps_线段树
  18. [重装系统]戴尔DELL新BIOS设置U盘启动
  19. 随心所“语”之“做”与“想”
  20. Android SnackBar

热门文章

  1. 小程序制作分类可滚动区域 scroll-view
  2. Web安全Day1 - SQL注入实战攻防
  3. linux w3m 使用方法,CentOS下安装w3m,及w3m的使用
  4. 提升演讲与说话能力看什么书?这本《演讲与口才必读12篇》不容错过哦
  5. Implicit Move Must Go
  6. For My Gitweb
  7. WeTest亮相2021ChinaJoy大会
  8. 7-5 树种统计(25分)
  9. JS设置,获取,删除cookie
  10. VI设计有四大重要的组成部分