Python文件自动化处理

os模块

  • Python标准库
  • 和操作系统有关的操作
  • 创建、移动、复制文件和文件夹
  • 文件路径和名称处理

路径的操作

  • 获取当前Python程序运行路径
  • 不同操作系统之间路径的表示方式
  1. windows中采用反斜杠(\)作为文件夹之间的分隔符
  2. Mac和Linux中采用斜杠(/)作为文件夹之间的分隔符

把文件夹里面的文件夹里的文件夹里的文件都找出来:

os.walk(xxx)

搜索匹配文件

字符串内置方法

  • startswith()
  • endswith()

glob模块

  • *匹配所有
  • ?匹配任意单个字符
  • [seq]匹配seq中的任何字符
  • [!seq]匹配任何不在seq中的字符

查询文件信息 .stat()

|--------|--------------|-----------------------|
| 序号 | 属性 | 含义 |
| 1 | st_size | 文件体积大小(单位:bytes) |
| 2 | st_atime | 文件的最近访问时间 |
| 3 | st_mtime | 文件的最近修改时间 |
| 4 | st_ctime | Windows下表示创建时间 |
| 5 | st_birthtime | 只在Mac,Linux下可用,表示创建时间 |

创建临时文件和文件夹

  • 创建临时文件存储数据TemporaryFile()
  • 创建临时文件夹 TemporaryDirectory()

创建文件夹 os.mkdir(新文件夹名称)

创建多层文件夹 os.makedirs(新文件夹名称)

复制文件 shutil.copy(a,b)

复制文件夹 shutil.copytree(a,b)

移动文件 shutil.move(a,b)

删除文件 os.remove()

删除文件夹 shutil.rmtree()

重命名 os.rename(a,b)

读取压缩包zip内文件

  • zipfile.ZipFile()
  • .namelist()

读取压缩包内文件信息

  • .getinfo()

处理Excel文件

openpyxl模块

  • 可以读取和写入Excel文件
  • 第三方模块,需要单独安装
  • 处理Excel数据
  • 处理Excel样式
  • 在表格内插入图表

在线安装方式

  • Windows 用户: pip install openpyxl
  • Mac用户: pip3 install openpyxl

测试

  • Windows用户打开命令行 输入 python
  • Mac 用户打开终端输入 python3
  • 然后输入 import openpyxl

Excel表格

打开和读取表格数据

  • 打开工作薄: load_workbook(文件名)
  • 获取工作表:workbook[sheet名称]
  • 获取表格尺寸:sheet.dimensions

Python打开及读取Excel表格内容

获取表格内某个格子的数据 sheet['A1'] cell.value

获取一系列格式 sheet['A1:A5'] sheet['A'] sheet['A:C'] sheet[5] .rows

指定行和列的范围,按行获取,按列获取

.iter_rows(min_row=最低行数,max_row=最高行数,min_col=最低列数,max_col=最高列数)

Python向Excel表格中写入内容

向某个格子写入内容

  • sheet['A1']='hello,Python'

用某个格子写入内容

  • cell.value='hello,Python'

使用Python列表数据插入一行

  • sheet.append(Python列表)

插入一列

  • .insert_cols(idx=数字编号)

插入多列

  • .insert_cols(idx=数字编号,amount=要插入的列数)

插入一行

  • .insert_rows(idx=数字编号)

插入多行

  • .insert_rows(idx=数字编号,amount=要插入的行数)

Word自动化处理

python-docx模块

  • 可以创建、修改Word(.docx)文件
  • 非Python标准模块,需要安装才能使用

获取文档对象 Document()

获得段落列表 doc.paragraphs

获取段落文字内容 paragraphs.text

获取文字块列表 paragraphs.runs

添加一级标题 doc.add_heading('标题名称',level=标题等级)

添加段落 paragraph.add_paragraph('段落文字内容')

添加文字块 paragraph.add_run('文字内容')

保存文件 doc.save('文件名.docx')

添加图片

  • doc.add_picture(图片地址)
  • doc.add_picture(图片地址,width=宽度,height=高度)

添加表格

  • doc.add_table(rows=多少行,cols=多少列)

设置文字字体样式

  • run.font.样式=xxx

设置段落样式

  • paragraph.alignment=对齐方式

行间距

  • paragraph.paragraph_format.line_spacing=2.0

段前与段后间距

  • paragraph.paragraph_format.space_before=Pt(12)
  • paragraph.paragraph_format.space_after=Pt(12)
相关推荐
进击的六角龙19 分钟前
Python中处理Excel的基本概念(如工作簿、工作表等)
开发语言·python·excel
一只爱好编程的程序猿39 分钟前
Java后台生成指定路径下创建指定名称的文件
java·python·数据下载
EasyCVR40 分钟前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
Aniay_ivy44 分钟前
深入探索 Java 8 Stream 流:高效操作与应用场景
java·开发语言·python
gonghw4031 小时前
DearPyGui学习
python·gui
向阳12181 小时前
Bert快速入门
人工智能·python·自然语言处理·bert
engchina1 小时前
Neo4j 和 Python 初学者指南:如何使用可选关系匹配优化 Cypher 查询
数据库·python·neo4j
兆。1 小时前
掌握 PyQt5:从零开始的桌面应用开发
开发语言·爬虫·python·qt
wowocpp2 小时前
ubuntu 22.04 硬件配置 查看 显卡
linux·运维·ubuntu
南宫理的日知录2 小时前
99、Python并发编程:多线程的问题、临界资源以及同步机制
开发语言·python·学习·编程学习