Python-docx 参考手册
简介
Python-docx 是一个用于操作 Microsoft Word 文档的 Python 库。使用它,我们可以创建、修改和读取 Word 文档,实现自动化生成报告、合同等功能。本文将介绍如何使用 Python-docx 来操作 Word 文档,并给出一些代码示例。
安装
首先,我们需要安装 python-docx 库。可以通过 pip 来安装:
pip install python-docx
创建 Word 文档
基本操作
我们可以使用 python-docx 来创建一个空白的 Word 文档:
from docx import Document
doc = Document()
doc.add_heading('Hello, Python-docx!', level=1)
doc.add_paragraph('This is a paragraph.')
doc.save('demo.docx')
上面的代码创建了一个 Word 文档,并在其中添加了一个标题和一个段落,然后保存到 demo.docx 文件中。我们可以在 Word 软件中打开这个文件查看效果。
添加表格
除了文本内容,我们还可以向文档中添加表格:
from docx import Document
doc = Document()
table = doc.add_table(rows=3, cols=2)
for i in range(3):
row_cells = table.rows[i].cells
row_cells[0].text = f'Row {i+1}, Column 1'
row_cells[1].text = f'Row {i+1}, Column 2'
doc.save('table.docx')
上面的代码创建了一个包含 3 行 2 列的表格,并填充了表格内容,然后保存到 table.docx 文件中。
读取 Word 文档
读取文本内容
使用 python-docx 我们可以读取 Word 文档中的文本内容:
from docx import Document
doc = Document('demo.docx')
for paragraph in doc.paragraphs:
print(paragraph.text)
上面的代码读取了 demo.docx 文档中的所有段落,并打印出来。
读取表格内容
如果文档中包含表格,我们也可以读取表格的内容:
from docx import Document
doc = Document('table.docx')
table = doc.tables[0]
for row in table.rows:
for cell in row.cells:
print(cell.text)
上面的代码读取了 table.docx 文档中的表格内容,并打印出来。
实际应用
Python-docx 可以应用在很多实际场景中,比如自动化生成报告、合同、文档处理等。下面我们通过一个实际场景来演示如何使用 python-docx。
旅行报告生成
假设我们要生成一个旅行报告,包含旅行路线、景点介绍等信息。我们可以使用 python-docx 来自动生成这个报告。
旅行图
journey
title Travel Journey
section Route
Go to City A
Go to City B
Visit Place 1
Visit Place 2
section Highlights
Scenic Spot A
Famous Building B
类图
classDiagram
class Document
class Table
class Paragraph
from docx import Document
doc = Document()
doc.add_heading('Travel Report', level=1)
doc.add_heading('Route', level=2)
route_table = doc.add_table(rows=4, cols=1)
route_table.style = 'Table Grid'
route_table.cell(0, 0).text = 'Go to City A'
route_table.cell(1, 0).text = 'Go to City B'
route_table.cell(2, 0).text = 'Visit Place 1'
route_table.cell(3, 0).text = 'Visit Place 2'
doc.add_heading('Highlights', level=2)
highlight_table = doc.add_table(rows=2, cols=1)
highlight_table.style = 'Table Grid'
highlight_table.cell(0, 0).text = 'Scenic Spot A'
highlight_table.cell(1, 0).text = 'Famous Building B'
doc.save('travel_report.docx')
上面的代码生成了一个旅行报告,包括路线和景点介绍等内容,并保存到 travel_report.docx 文件中。
结语
通过本文的介绍,我们了解了如何使用 Python-docx 库来操作 Word 文档,包括创建、修改和读取。同时,我们还通过一个实