准备阶段
本文使用的Python拓展包:python-docx
官方文件
读word
这里写图片描述
代码如下

# -*- coding: cp936 -*-
import docx
document = docx.Document(文件路径)
docText = '\n\n'.join([
    paragraph.text.encode('utf-8') for paragraph in document.paragraphs
])
print docText
效果

这里写图片描述

写word
附上官方样例
效果图
这里写图片描述

from docx import Document
from docx.shared import Inches

document = Document()

document.add_heading('Document Title', 0)

p = document.add_paragraph('A plain paragraph having some ')
p.add_run('bold').bold = True
p.add_run(' and some ')
p.add_run('italic.').italic = True

document.add_heading('Heading, level 1', level=1)
document.add_paragraph('Intense quote', style='IntenseQuote')

document.add_paragraph(
    'first item in unordered list', style='ListBullet'
)
document.add_paragraph(
    'first item in ordered list', style='ListNumber'
)

document.add_picture('monty-truth.png', width=Inches(1.25))

table = document.add_table(rows=1, cols=3)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Qty'
hdr_cells[1].text = 'Id'
hdr_cells[2].text = 'Desc'
for item in recordset:
    row_cells = table.add_row().cells
    row_cells[0].text = str(item.qty)
    row_cells[1].text = str(item.id)
    row_cells[2].text = item.desc

document.add_page_break()

document.save('demo.docx')

官方样例在用到‘style’属性时可能会报错,如果运行上面样例出错,可将含有‘style’属性相关代码注释掉即可

最后补充一些关于字体的格式
如果想改变字体的大小,字形,对齐方式可借鉴以下代码

run = paragraph.add_run(text)#增加一段文字
font = run.font
font.name = name#字体名称
font.size = Pt(size)#字体大小多少磅
if(alignment != None) :
    paragraph.alignment = alignment#两端对齐

注:目前该插件只能修改英文的字形(宋体,仿宋…),中文则一律使用“MS Mincho (中文正文)”

更多使用方法可用上提示的官网文档中查询

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐