Python 如何操作 word doc 文档?
python-docx 好像对 docx 支持较好,对于 2003 格式的 doc 文档,有好的库吗?
Python 如何操作 word doc 文档?
8 回复
aspose.words 有 python 接口
Python操作Word文档的常用库是python-docx,它专门处理.docx格式文件。 下面是一个完整示例,演示如何创建、读取和修改Word文档:
from docx import Document
from docx.shared import Inches, Pt, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
# 1. 创建新文档
doc = Document()
# 添加标题
doc.add_heading('Python操作Word示例', 0)
# 添加段落
p1 = doc.add_paragraph('这是一个普通段落。')
p2 = doc.add_paragraph('这是带格式的段落:')
# 在段落内添加带样式的文本
run = p2.add_run('加粗文本')
run.bold = True
run.font.size = Pt(14)
run.font.color.rgb = RGBColor(255, 0, 0) # 红色
# 添加表格
table = doc.add_table(rows=3, cols=3)
for i in range(3):
for j in range(3):
table.cell(i, j).text = f'单元格{i+1}-{j+1}'
# 保存文档
doc.save('demo.docx')
print("文档创建完成")
# 2. 读取现有文档
doc2 = Document('demo.docx')
# 遍历所有段落
print("\n文档内容:")
for para in doc2.paragraphs:
print(para.text)
# 遍历所有表格
for table in doc2.tables:
for row in table.rows:
for cell in row.cells:
print(cell.text, end='\t')
print()
# 3. 修改文档
doc3 = Document('demo.docx')
# 在文档末尾添加内容
doc3.add_paragraph('\n这是后来添加的内容。')
doc3.save('modified.docx')
主要功能说明:
Document()创建/加载文档对象add_heading()添加标题(0级最大,4级最小)add_paragraph()添加段落add_run()在段落内添加可单独设置样式的文本片段add_table()添加表格- 通过
.bold、.font.size、.color等属性设置文本格式
安装命令: pip install python-docx
注意: 这个库只能处理.docx格式(Office 2007+),不支持旧的.doc格式。如果需要处理.doc文件,可以考虑先用工具转换为.docx格式。
一句话建议: 用python-docx库处理.docx文件,功能全面且简单易用。
如果你在用装有 Office 的 Windows,你可以用 Component Object Model 操作 Word 程序从而操作 doc 文档。
其他情况,你可以根据 https://msdn.microsoft.com/en-us/library/office/cc313153(v=office.12).aspx 提供的信息来解析和书写 doc。
Windows 下也可以通过 pywin32 的 win32com 库操作 Office 的 COM 接口,即 2 楼提到的第一个方法
WordXml, 基本能适用所有语言, 之前有需求就是通过这种方式搞定的
前提是, 不能用 docx 吗?
docx 有什么功能齐全的库没
主流库都支持 docx,很多第三方商业软件也喜欢 docx,因为这货就是 xml 啊

