一. 痛点
运维侠小白有下面烦恼,听说python可以轻松扫除这些烦恼于是迫不及待想学…
“每天要手动修改word个Excel单元格?
一不小心就出错,加班到深夜?
Python 几行代码,让你准时下班!…”
学会基础,困难一点点远离,乐趣一步步靠近
学习就像追妹子,你只能看到背影,但只要坚持日积月累的付出,迟早她整个人属于你❤。
二.基础:准备工作
⚠️避免报错:
- 文件路径 没有写绝对路径默认是处理python代码所在路径的文件,因此需要把代码文件放到这个处理的文件同一文件夹里。
(1)安装 python-docx模块
💻 代码:在命令行终端执行
# 安装必要库(命令行执行)
# pip install python-docx
(2)基本构成:Excel文档的"三件套"结构
想象Excel就像一本老式账本:
📒 工作簿(Workbook):整个账本
📄 工作表(Sheet):账本里的每一页
📦 单元格(Cell):每个小格子
Excel结构示意图:
三.进阶:基础操作
⚠️避免报错:
- 文件路径 没有写绝对路径默认是处理python代码所在路径的文件,因此需要把代码文件放到这个处理的文件同一文件夹里。
- 修改部分代码 可以举一反三,这个也能生成合同第一页。
创建单个Word 文档
💻 代码:
# ---------------------------
# 自动生成Word文档
# ---------------------------
from docx import Document
# 1. 创建一个空白Word文档对象
doc = Document()
# 2. 添加标题(级别0为最大标题)
doc.add_heading('我的第一个模板', 0)
# 3. 添加正文段落
doc.add_paragraph('客户姓名: ____________')
doc.add_paragraph('缴费金额: ____________')
# 4.保存
doc.save(r'C:\Users\ZHAOY\PycharmProjects\1\整理后的文件\文档\创建单个通知单模板.docx')
print("✅ Word文档生成成功!")
如图:
⏰提示:一种需求可以有多种类型代码实现,实际中,我们可以从中选择,最适合的。
四.实战案例集锦:
(1)阶段一基础版:Word文档批量换标签
素材说明:
提供示例文件 价格表.docx
如图:
流程:开始→读取文档→遍历段落→替换文字→遍历表格→替换文字→保存文档→结束
💻 代码:创建python文件price_tag.py
# 第一步:安装超市购物车(安装库)
# 第二步:准备价签(新建price_tag.py文件)
# 把下方代码完整复制进去保存
from docx import Document
def 超市甩卖替换法(文件路径, 旧标签, 新标签):
doc = Document(文件路径)
# 货架区域大扫荡(段落替换)
for 货架 in doc.paragraphs:
if 旧标签 in 货架.text:
货架.text = 货架.text.replace(旧标签, 新标签)
# 收银台小票区(表格替换)
for 收银台 in doc.tables:
for 小票 in 收银台.rows:
for 商品 in 小票.cells:
if 旧标签 in 商品.text:
商品.text = 商品.text.replace(旧标签, 新标签)
doc.save('促销版_' + 文件路径)
# 第三步:开启甩卖(运行代码)
if __name__ == "__main__":
超市甩卖替换法('价格表.docx', '¥99', '¥9.9') # 可以替换成你自己的关键词
如图:
(2)阶段二高级版:文档理发师,给文字染发(保留格式修改文字)
素材如图:
⏰提示:与python文件同一层目录下,生成最终处理完成文件
💻 代码:创建python文件“28-保留格式.py”
from docx import Document
from docx.shared import RGBColor
def 染发小技巧(文件路径, 旧词, 新词):
doc = Document(文件路径)
for 段落 in doc.paragraphs:
for 文字块 in 段落.runs:
if 旧词 in 文字块.text:
# 保存原有发色
原色 = 文字块.font.color.rgb
# 生成新文字
文字块.text = 文字块.text.replace(旧词, 新词)
# 保持原发色
文字块.font.color.rgb = 原色
doc.save('炫彩版_' + 文件路径)
# 使用示例
染发小技巧('李四_培训合同.docx', 'xx教育集团', '技术职场教练')
如图:
💡 调试技巧:先测试单个文档生成,再扩展为批量处理
💡在评论区告诉我,下期教你用Python搞定!