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)
相关推荐
魔道不误砍柴功4 分钟前
Java 中反射的高级用法:窥探 Java 世界的魔法之门
java·开发语言·python
Anna_Tong6 分钟前
全局流量管理:提升用户体验与保障服务稳定性
运维·服务器·网络·数据库·安全·负载均衡
0wioiw06 分钟前
Flask-----SQLAlchemy教程
后端·python·flask
Faylynn13 分钟前
Python:方法间的多个返回值的传输和引用
python·pycharm
觅远16 分钟前
python+reportlab创建PDF文件
开发语言·python·pdf
海域云赵从友22 分钟前
破解海外业务困局:新加坡服务器托管与跨境组网策略
运维·服务器
逆境清醒22 分钟前
MarkItDown的使用(将Word、Excel、PDF等转换为Markdown格式)
python·markdown·markitdown
上海运维Q先生30 分钟前
面试题整理13----deployment和statefulset区别
运维·面试·kubernetes
执着的小火车1 小时前
02-18.python入门基础一基础算法
数据结构·python·算法·排序算法
梦茹^_^1 小时前
排序算法(系列)
数据结构·python·算法·排序算法·希尔排序·基数排序·计数排序和桶排序