Word文档的自动化处理一直是个让人头疼的事,不过有了Python-docx这个强大的库,咱们就能轻松搞定Word文档的创建、修改、格式化等各种操作。作为一个经常和文档打交道的开发者,我觉得这绝对是个必备的工具。
跟其他Python库一样,安装Python-docx特别简单:
pip install python-docx
来看个最基础的例子:
from docx import Document
# 创建新文档
doc = Document()
doc.add_paragraph('你好,Python-docx!')
doc.save('hello.docx')
运行完这段代码,就会生成一个包含“你好,Python-docx!”的Word文档。
写文档最常用的就是设置段落样式了,Python-docx里的段落样式设置也特别直观:
doc = Document()
paragraph = doc.add_paragraph('这是一个段落')
# 设置字体
run = paragraph.add_run('这是加粗文本')
run.bold = True
run.font.size = Pt(14)
run.font.name = '微软雅黑'
# 对齐方式
paragraph.alignment = WD_ALIGN_PARAGRAPH.CENTER
💡 温馨提示:每个run对象代表一段相同格式的文本,想要设置不同的格式,就得用不同的run。
表格是文档里的重头戏,Python-docx对表格的支持也很到位:
doc = Document()
table = doc.add_table(rows=3, cols=3)
# 访问单元格
cell = table.cell(0, 0)
cell.text = “第一行第一列”
# 添加一行
row = table.add_row()
row.cells[0].text = “新增的一行”
# 设置表格样式
table.style = 'Table Grid'
插入图片也是小菜一碟:
doc = Document()
doc.add_picture('my_picture.png', width=Inches(4))
💡 温馨提示:图片尺寸可以用Inches(英寸)或Cm(厘米)作为单位,更符合日常使用习惯。
文档的页面设置也能轻松搞定:
doc = Document()
section = doc.sections[0]
section.page_height = Cm(29.7)
section.page_width = Cm(21)
section.left_margin = Cm(2.54)
section.right_margin = Cm(2.54)
别看前面都是在创建文档,其实读取现有文档也很简单:
doc = Document('existing.docx')
# 遍历所有段落
for para in doc.paragraphs:
print(para.text)
# 遍历所有表格
for table in doc.tables:
for row in table.rows:
for cell in row.cells:
print(cell.text)
说实话,用Python-docx处理Word文档真的挺爽的。不用再打开Word一个个改了,写几行代码就能批量处理成百上千的文档。我记得有次要处理500份简历,手动改的话估计得忙活一整天,用Python-docx写个脚本,喝杯茶的功夫就搞定了。
这个库还有许多强大的功能,比如设置页眉页脚、插入分节符、设置样式等等。感兴趣的话可以去看看官方文档,里面有更多详细的例子和说明。
写代码处理文档的时候记得多保存,别像我一样老忘记save(),写了半天最后发现白忙活了。