1. Python-docx 入门:解放双手的文档自动化利器
每次月底写周报的时候,你是不是也对着空白的Word文档发愁?作为程序员,我过去常常花半小时复制粘贴各种数据,调整格式,最后还要检查错别字。直到发现了python-docx这个神器,现在我的周报都是自动生成的,连格式都不用调。
python-docx是Python中操作Word文档的第三方库,它能让我们用代码完成所有手动操作。安装非常简单,只需要一行命令:
bash复制pip install python-docx
这个库最厉害的地方在于,它不仅能创建新文档,还能修改现有文档。想象一下,公司要发100份内容相似但客户信息不同的合同,传统做法是打开100次Word,一个个复制粘贴。用python-docx,写个脚本10分钟就能搞定。
我最近就用它帮财务部门自动化了发票生成系统。原来需要3个人花一整天的工作,现在服务器自动运行脚本,5分钟就能生成500份带不同客户信息的标准发票,准确率100%。财务总监看到效果后,立刻批准了IT部门的预算申请。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 基础操作:从零开始构建Word文档
2.1 创建你的第一个自动化文档
让我们从最基础的开始 - 创建一个空白文档。这个操作虽然简单,但却是所有自动化文档的基础。
python复制from docx import Document
doc = Document()
doc.save('first_document.docx')
运行这段代码,你会在当前目录下得到一个名为first_document.docx的空Word文件。虽然看起来简单,但这已经完成了自动化文档的第一步。
在实际项目中,我建议使用绝对路径保存文件,这样可以避免找不到文件的尴尬。比如:
python复制doc.save(r'D:\reports\2023\Q3\report_20230801.docx')
2.2 添加标题和段落
文档有了,接下来就是填充内容。python-docx提供了非常直观的方法来添加各种内容。
添加标题就像调用一个方法那么简单:
python复制doc.add_heading('2023年第三季度销售报告', level=0)
doc.add_heading('1. 销售概况', level=1)
level参数控制标题级别,0是最大的标题,数字越大级别越低。这和Word中的"标题1"、"标题2"样式是对应的。
段落是文档的主要内容载体。python-docx提供了多种添加段落的方式:
python复制# 简单段落
doc.add_paragraph('本季度销售额同比增长15%。')
# 带样式的段落
doc.add_paragraph('主要增长点:', style='Heading3')
# 多段落组合
p = doc.add_paragraph()
p.add_run('重点客户:').bold = True
p.add_run('A公司、B集团、C国际')
我特别喜欢add_run方法,它允许你在同一个段落中使用不同的格式。比如上面例子中,"重点客户:"是加粗的,后面的客户名称是普通文本。
