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(文件名)
  • 获取工作表:workbooksheet名称
  • 获取表格尺寸:sheet.dimensions

Python打开及读取Excel表格内容

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

获取一系列格式 sheet'A1:A5' sheet'A' sheet'A:C' sheet5 .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)
相关推荐
默_笙1 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
qq_426003961 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫1 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技1 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读1 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时1 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
AI职业加油站1 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
奇思妙想聪明勤奋的小羊1 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
lpfasd1231 天前
2026年第38周GitHub趋势周报
python·科技·github