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)
相关推荐
m0_6090004220 分钟前
向日葵好用吗?4款稳定的远程控制软件推荐。
运维·服务器·网络·人工智能·远程工作
小安运维日记1 小时前
Linux云计算 |【第四阶段】NOSQL-DAY1
linux·运维·redis·sql·云计算·nosql
waterHBO1 小时前
python 爬虫 selenium 笔记
爬虫·python·selenium
编程零零七2 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
AIAdvocate4 小时前
Pandas_数据结构详解
数据结构·python·pandas
小言从不摸鱼4 小时前
【AI大模型】ChatGPT模型原理介绍(下)
人工智能·python·深度学习·机器学习·自然语言处理·chatgpt
m0_741768855 小时前
使用docker的小例子
运维·docker·容器
学习3人组5 小时前
CentOS 中配置 OpenJDK以及多版本管理
linux·运维·centos
厨 神6 小时前
vmware中的ubuntu系统扩容分区
linux·运维·ubuntu
Karoku0666 小时前
【网站架构部署与优化】web服务与http协议
linux·运维·服务器·数据库·http·架构